Bagaimana membandingkan dua rentetan di Jawa?
Gunakan kaedah .equals () untuk membandingkan kandungan rentetan, kerana == hanya membandingkan rujukan objek dan bukannya kandungan; 1. Gunakan .equals () untuk membandingkan nilai rentetan sama rata; 2. Gunakan .equalsignorecase () untuk membandingkan kes mengabaikan; 3. Gunakan .compareto () untuk membandingkan rentetan dalam urutan kamus, mengembalikan 0, nombor negatif atau positif; 4. Gunakan .CompareToignorecase () untuk membandingkan kes mengabaikan; 5. Gunakan Objects.Equals () atau kaedah panggilan selamat untuk memproses rentetan null untuk mengelakkan pengecualian penunjuk null. Singkatnya, anda harus mengelakkan menggunakan == untuk perbandingan kandungan rentetan melainkan jika ia perlu secara jelas untuk memeriksa sama ada objek adalah sama.
Membandingkan dua rentetan di Java mungkin kelihatan mudah, tetapi terdapat perbezaan penting antara menggunakan ==
dan kaedah .equals()
- dan menggunakan yang salah boleh menyebabkan pepijat.

Gunakan .equals()
untuk membandingkan kandungan rentetan
Peraturan yang paling penting: Jangan gunakan ==
untuk membandingkan nilai dua rentetan . The ==
Operator memeriksa sama ada dua rujukan menunjukkan objek yang sama dalam ingatan, bukan sama ada kandungan rentetan adalah sama.
Sebaliknya, gunakan kaedah .equals()
untuk membandingkan aksara sebenar dalam rentetan:

String str1 = "hello"; String str2 = "hello"; jika (str1.equals (str2)) { System.out.println ("Strings adalah sama"); }
Ini kembali true
kerana kedua -dua rentetan mengandungi urutan aksara yang sama.
⚠️ Contoh apa yang tidak boleh dilakukan:
jika (str1 == str2) {...} // jangan bergantung pada ini untuk perbandingan nilaiIni mungkin berfungsi kadang -kadang disebabkan oleh rentetan rentetan, tetapi ia tidak boleh dipercayai, terutamanya dengan rentetan dari input pengguna atau
new String("...")
.
Mengendalikan kepekaan kes dengan .equalsIgnoreCase()
Jika anda ingin mengabaikan kes semasa membandingkan rentetan (misalnya, "hello" vs "hello"), gunakan .equalsIgnoreCase()
:
String str1 = "hello"; String str2 = "hello"; jika (str1.equalsignorecase (str2)) { System.out.println ("Strings adalah sama (mengabaikan kes)"); }
Ini berguna untuk perkara seperti log masuk pengguna atau fungsi carian di mana kes tidak penting.
Bandingkan rentetan mengikut abjad menggunakan .compareTo()
Sekiranya anda perlu mengetahui perintah leksikografi (perintah kamus) dari dua rentetan, gunakan .compareTo()
:
String str1 = "Apple"; String str2 = "pisang"; int result = str1.compareTo (str2); jika (hasil <0) { System.out.println ("str1 datang sebelum str2"); } lain jika (hasil> 0) { System.out.println ("Str1 datang selepas str2"); } else { System.out.println ("Str1 dan Str2 adalah sama"); }
- Pulangan 0 jika rentetan sama
- Mengembalikan nombor negatif jika
str1
datang sebelumstr2
- Mengembalikan nombor positif jika
str1
datang selepasstr2
Gunakan .compareToIgnoreCase()
jika anda mahukan pesanan tidak sensitif.
Berhati -hati untuk tali null
Memanggil .equals()
pada rentetan null
akan membuang NullPointerException
. Untuk mengelakkan ini, terutamanya apabila rentetan pertama mungkin null
, pertimbangkan:
- Menggunakan
Objects.equals()
(disyorkan):
import java.util.objects; String str1 = null; String str2 = "hello"; jika (objects.equals (str1, str2)) { System.out.println ("sama"); } else { System.out.println ("tidak sama"); // ini akan dicetak }
Objects.equals()
dengan selamat mengendalikan nilai null
-ia mengembalikan true
hanya jika kedua-duanya adalah null
, atau kedua-duanya adalah non-null dan .equals()
pulangan true
.
Sebagai alternatif, elakkan memanggil .equals()
pada rentetan yang berpotensi null
:
jika ("hello" .equals (str1)) {...} // selamat walaupun str1 adalah batal
Dengan cara ini, anda memanggil .equals()
pada literal (yang tidak pernah null
).
Jadi untuk merakam:
- ✅ Gunakan
.equals()
untuk perbandingan kandungan - ✅ Gunakan
.equalsIgnoreCase()
untuk pemeriksaan kes-insensitif - ✅ Gunakan
.compareTo()
untuk menyusun/memesan - ✅ Mengendalikan
null
s denganObjects.equals()
atau urutan panggilan selamat
Pada asasnya, jangan gunakan ==
melainkan jika anda secara jelas ingin memeriksa identiti objek - dan itu jarang berlaku dalam perbandingan rentetan sehari -hari.
Atas ialah kandungan terperinci Bagaimana membandingkan dua rentetan di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Testthepdfinanotherapptodetermineiftheisseiswiththefileoredge.2.enableTetHEBuilt-Inpdfviewerbyturningoff "AlwaysopenpdffileseXternally" dan "muat turun" inedgesettings.3.clearbrowsdataincludingcookiesandcookiescookiesandcookiescookiesandcookiescookieshincookieshincookiescookiescookiescookiescookiescookiescookiescookiescookiescokiescookiescookiescookiescookiescookiescooker

Importjava.ioandjava.net.socketfFori

Aplikasi Java Containerized: Buat Dockerfile, gunakan imej asas seperti Eclipse-Temurin: 17-jre-alpine, salin fail balang dan tentukan perintah permulaan, bina imej melalui Dockerbuild dan lari secara tempatan dengan Dockerrun. 2. Tolak imej ke Registry Container: Gunakan Dockertag untuk menandakan imej dan menolaknya ke DockerHub dan pendaftaran lain. Anda mesti log masuk terlebih dahulu ke Dockerlogin. 3. Digunakan ke Kubernet: Tulis Deployment.yaml Untuk menentukan penggunaan, tetapkan bilangan replika, imej kontena dan sekatan sumber, dan tulis perkhidmatan.yaml untuk membuat

Di VSCode, anda boleh menukar kawasan panel dan penyuntingan dengan cepat melalui kekunci pintasan. Untuk melompat ke panel Explorer kiri, gunakan CTRL Shift E (Windows/Linux) atau CMD Shift E (MAC); Kembali ke kawasan penyuntingan untuk menggunakan Ctrl `atau ESC atau Ctrl 1 ~ 9. Berbanding dengan operasi tetikus, pintasan papan kekunci lebih cekap dan tidak mengganggu irama pengekodan. Petua lain termasuk: Kotak carian fokus Ctrl Kctrl e, fail menamakan semula F2, memadam fail, masukkan fail terbuka, arrow kunci memperluas/runtuh folder.

RuntheWindowsUpdateTroubleshooterviaSettings>Update&Security>Troubleshoottoautomaticallyfixcommonissues.2.ResetWindowsUpdatecomponentsbystoppingrelatedservices,renamingtheSoftwareDistributionandCatroot2folders,thenrestartingtheservicestocle

Javaserializationconvertsanobject'sstateintoabytestreamforstorageortransmission, anddeserialization reconstructstheobjectfromhattstream.1.toenableserialization, aclassmustimplementtheserializableInterfe.2.useObjectStreamtoserialialization.useObjectStreamtoserialialization.useObjectStreamtosererialialize.

AwhileloopinjavarepeatedlyexecutescodeaslongasthecondeConditionistrue; 2.InitializeAcontrolvariableBeforetheloop; 3.DefinetheloopcondusingAbeaneanExpression;

Numpy adalah perpustakaan teras untuk pengkomputeran saintifik di Python. Adalah baik untuk mengendalikan operasi algebra linear dan menyediakan array dan fungsi ndarray yang cekap dalam modul numpy.linalg. 1. Gunakan np.linalg.solve (a, b) untuk menyelesaikan sistem persamaan linear Ax = b untuk mendapatkan vektor penyelesaian x; 2. Transposisi matriks dilaksanakan melalui A.T; 3. Pendaraban matriks boleh digunakan untuk np.dot (a, b) atau a@b; 4. Matrix songsang dikira oleh np.linalg.inv (a), dan matriks perlu diterbalikkan; 5. Penentu diberikan oleh Np.Linalg.Det (A); 6. Eigenvalue dan eigenvector diperoleh melalui np.linalg.eig (a), dan eigenvector telah dinormalisasi;
