Jadual Kandungan
Gunakan .equals() untuk membandingkan kandungan rentetan
Perbandingan Kes-Insensitif: Gunakan .equalsIgnoreCase()
Membandingkan rentetan secara lexicographically: .compareTo()
Berhati -hati untuk tali null
Ringkasan Amalan Terbaik
Rumah Java javaTutorial Cara membandingkan rentetan di Java

Cara membandingkan rentetan di Java

Aug 12, 2025 am 10:00 AM
java Perbandingan rentetan

Gunakan .equals () untuk membandingkan kandungan rentetan, kerana == hanya membandingkan rujukan objek dan bukannya aksara sebenar; 2. Gunakan .equalsignorecase () apabila membandingkan mengabaikan kes; 3. Gunakan .CompareTo () apabila menyusun mengikut abjad, dan .compareToignorecase () apabila mengabaikan kes; 4. Elakkan memanggil .equals () pada rentetan yang mungkin batal, dan menggunakan "literal" .equals (variable) atau objects.equals (str1, str2) untuk selamat mengendalikan nilai null; Singkatnya, sentiasa memberi tumpuan kepada perbandingan kandungan dan bukannya rujukan untuk memastikan ketepatan dan keteguhan kod.

Cara membandingkan rentetan di java

Membandingkan rentetan di Java mungkin kelihatan mudah, tetapi menggunakan kaedah yang salah boleh membawa kepada pepijat -terutamanya apabila berurusan dengan rujukan objek berbanding kandungan sebenar. Inilah cara melakukannya dengan betul.

Gunakan .equals() untuk membandingkan kandungan rentetan

Peraturan yang paling penting: Jangan gunakan == untuk memeriksa sama ada dua rentetan mempunyai teks yang sama. The == Operator memeriksa sama ada dua rujukan menunjukkan objek yang sama dalam ingatan, bukan sama ada kandungannya sama.

Sebaliknya, gunakan kaedah .equals() :

 String str1 = "hello";
String str2 = "hello";
String str3 = rentetan baru ("hello");

System.out.println (str1 == str2); // benar (rujukan yang sama di kolam rentetan)
System.out.println (str1 == str3); // palsu (objek yang berbeza)
System.out.println (str1.equals (str3)); // benar (kandungan yang sama)

✅ Sentiasa gunakan .equals() apabila anda ingin membandingkan watak -watak sebenar dalam rentetan.

Perbandingan Kes-Insensitif: Gunakan .equalsIgnoreCase()

Sekiranya anda ingin mengabaikan kes (misalnya, "hello" vs "hello"), gunakan .equalsIgnoreCase() :

 String a = "java";
String b = "java";

System.out.println (a.equals (b)); // palsu
System.out.println (a.equalsignorecase (b)); // benar

Ini mengelakkan keperluan untuk menukar rentetan secara manual ke bawah atau lebih tinggi, yang boleh menjejaskan kebolehbacaan atau prestasi jika dilakukan berulang kali.

Membandingkan rentetan secara lexicographically: .compareTo()

Apabila anda perlu mengetahui susunan abjad (contohnya, penyortiran), gunakan .compareTo() :

 String x = "Apple";
String y = "pisang";

int result = x.compPareTo (y);

jika (hasil <0) {
    System.out.println ("X datang sebelum y");
} lain jika (hasil> 0) {
    System.out.println ("X datang selepas y");
} else {
    System.out.println ("X dan Y adalah sama");
}
  • Pulangan 0 jika rentetan adalah sama.
  • Mengembalikan nombor negatif jika rentetan pertama datang sebelum kedua.
  • Mengembalikan nombor positif jika ia datang selepas itu.

Untuk pesanan yang tidak sensitif, gunakan .compareToIgnoreCase() .

Berhati -hati untuk tali null

Memanggil .equals() pada rentetan null melemparkan NullPointerException . Untuk mengelakkannya:

 Input rentetan = null;
Sasaran String = "Hello";

// Ini membuang pengecualian:
// System.out.println (input.equals (sasaran));

// lebih selamat: Panggilan sama dengan literal yang tidak nol
System.out.println ("hello" .equals (input)); // palsu (selamat)

Sebagai alternatif, gunakan Objects.equals() yang mengendalikan nulls dengan anggun:

 import java.util.objects;

System.out.println (objects.equals (str1, str2)); // mengembalikan palsu jika ada batal

Ringkasan Amalan Terbaik

  • ✅ Gunakan .equals() untuk perbandingan kandungan.
  • ✅ Gunakan .equalsIgnoreCase() apabila kes tidak penting.
  • ✅ Gunakan .compareTo() untuk menyusun/memesan.
  • ❌ Elakkan == Kecuali anda secara eksplisit memerlukan perbandingan rujukan.
  • ? Mengendalikan nilai null dengan teliti.

Pada asasnya, merawat perbandingan rentetan seperti memeriksa makna kata -kata, bukan sama ada ia ditulis pada sekeping kertas yang sama. Ia adalah butiran kecil yang membuat perbezaan besar dalam kod yang boleh dipercayai.

Atas ialah kandungan terperinci Cara membandingkan rentetan di Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah kebuntuan di Java dan bagaimana anda boleh menghalangnya? Apakah kebuntuan di Java dan bagaimana anda boleh menghalangnya? Aug 23, 2025 pm 12:55 PM

Adeadlockinjaoccurswhentwoormorethreadsareblockedforever, eachwaitingforaresourceHeldByTheother, biasanyaduetoculularwaitcausedbyinconsistentlockordering;

Bagaimana cara menggunakan pilihan di Java? Bagaimana cara menggunakan pilihan di Java? Aug 22, 2025 am 10:27 AM

UseOptional.empty (), optional.of (), andOptional.ofnullable () tOcreateOptionalInStancesDependingOnwhethetheValueisabsent, non-null, orpossiblynull.2.CheckForvalUessafelySpresent () orprefeAdoShoDoD.

Java Kegigihan dengan Data Spring JPA dan Hibernate Java Kegigihan dengan Data Spring JPA dan Hibernate Aug 22, 2025 am 07:52 AM

Inti springdatajpa dan hibernate yang bekerja bersama adalah: 1. JPA adalah spesifikasi dan hibernate adalah pelaksanaan, SpringDatajpa enkapsulasi memudahkan pembangunan DAO; 2. Kelas entiti Peta pangkalan data pangkalan data melalui @Entity, @id, @column, dan sebagainya; 3. Antara muka repositori mewarisi JParepository untuk melaksanakan kaedah pertanyaan CRUD dan dinamakan secara automatik; 4. Pertanyaan Kompleks Gunakan @Query Anotation untuk menyokong JPQL atau SQL asli; 5. Dalam springboot, integrasi disiapkan dengan menambah kebergantungan starter dan mengkonfigurasi sumber data dan atribut JPA; 6. Urus niaga dibuat oleh @transactiona

Senibina Kriptografi Java (JCA) untuk pengekodan selamat Senibina Kriptografi Java (JCA) untuk pengekodan selamat Aug 23, 2025 pm 01:20 PM

Memahami komponen teras JCA seperti MessageDigest, Cipher, KeyGenerator, SecureRandom, Signature, Keystore, dan lain -lain, yang melaksanakan algoritma melalui mekanisme penyedia; 2. Gunakan algoritma dan parameter yang kuat seperti SHA-256/SHA-512, AES (Kunci 256-bit, mod GCM), RSA (2048-bit atau ke atas) dan SecureRandom; 3. Elakkan kunci berkod keras, gunakan KeyStore untuk menguruskan kunci, dan menjana kunci melalui kata laluan yang diperoleh dengan selamat seperti PBKDF2; 4. Lumpuhkan mod ECB, mengamalkan mod penyulitan pengesahan seperti GCM, menggunakan IV rawak yang unik untuk setiap penyulitan, dan yang sensitif yang jelas pada waktunya

Bagaimana cara menggunakan corak dan kelas matcher di Java? Bagaimana cara menggunakan corak dan kelas matcher di Java? Aug 22, 2025 am 09:57 AM

Kelas corak digunakan untuk menyusun ungkapan biasa, dan kelas Matcher digunakan untuk melakukan operasi yang sepadan pada rentetan. Gabungan kedua -duanya dapat merealisasikan carian teks, padanan dan penggantian; Mula -mula buat objek corak melalui corak.comPile (), dan kemudian panggil kaedah pencocokannya () untuk menghasilkan contoh yang sepadan. Kemudian gunakan perlawanan () untuk menilai pemadanan rentetan penuh, cari () untuk mencari berikutnya, menggantikan () atau penggantiFirst () untuk penggantian. Jika biasa mengandungi kumpulan penangkapan, kandungan kumpulan nth boleh diperolehi melalui kumpulan (n). Dalam aplikasi sebenar, anda harus mengelakkan corak penyusunan berulang, memberi perhatian kepada watak khas yang melarikan diri, dan menggunakan bendera corak yang sepadan seperti yang diperlukan, dan akhirnya mencapai cekap

Tetapan permainan lol tidak menyimpan selepas ditutup [tetap] Tetapan permainan lol tidak menyimpan selepas ditutup [tetap] Aug 24, 2025 am 03:17 AM

Ifleagueoflegendssettingsaren'tsaving, trythesesteps: 1.runthegameasadministrator.2.grantfullfolderpermissionstotheleagueof LegendsDirectory.3.Editandensuregame.cfgisn'tread-only.4.disableCloudsyncforthegamefolder.5.RepairthegameviAveAveAtheriotClient.

Edit penanda buku di Chrome Edit penanda buku di Chrome Aug 27, 2025 am 12:03 AM

Penyuntingan penanda buku Chrome adalah mudah dan praktikal. Pengguna boleh memasukkan pengurus penanda buku melalui kekunci pintasan CTRL Shift O (Windows) atau CMD Shift O (MAC), atau masuk melalui menu penyemak imbas; 1. Apabila menyunting penanda buku tunggal, klik kanan untuk memilih "Edit", ubah suai tajuk atau URL dan klik "Selesai" untuk menyimpan; 2. Apabila menganjurkan penanda buku dalam kelompok, anda boleh memegang Ctrl (atau CMD) kepada penanda buku pelbagai pilihan dalam pengurus penanda buku, klik kanan untuk memilih "Pindah ke" atau "Salin ke" folder Sasaran; 3. Apabila mengeksport dan mengimport penanda halaman, klik butang "Solve" untuk memilih "penanda buku eksport" untuk menyimpan sebagai fail HTML, dan kemudian pulihkannya melalui fungsi "Import Bookmark" jika perlu.

Kesalahan 'Java tidak diiktiraf' dalam CMD [3 langkah mudah] Kesalahan 'Java tidak diiktiraf' dalam CMD [3 langkah mudah] Aug 23, 2025 am 01:50 AM

Ifjavaisnotrecognizedincmd, memastikanJavaisinstalled, setTheJava_homevariableTothejdkpath, andaddthejdk'sbinfolderTothesystempath.restartcmdandrunjava-versionToconfirm.

See all articles