Jadual Kandungan
Gunakan .equals() untuk membandingkan kandungan rentetan
Mengendalikan kepekaan kes dengan .equalsIgnoreCase()
Bandingkan rentetan mengikut abjad menggunakan .compareTo()
Berhati -hati untuk tali null
Rumah Java javaTutorial Bagaimana membandingkan dua rentetan di Jawa?

Bagaimana membandingkan dua rentetan di Jawa?

Aug 04, 2025 am 11:03 AM
java Perbandingan rentetan

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.

Bagaimana membandingkan dua rentetan di Jawa?

Membandingkan dua rentetan di Java mungkin kelihatan mudah, tetapi terdapat perbezaan penting antara menggunakan == dan kaedah .equals() - dan menggunakan yang salah boleh menyebabkan pepijat.

Bagaimana membandingkan dua rentetan di Jawa?

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:

Bagaimana membandingkan dua rentetan di Jawa?
 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:

Bagaimana membandingkan dua rentetan di Jawa?
 jika (str1 == str2) {...} // jangan bergantung pada ini untuk perbandingan nilai

Ini 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 sebelum str2
  • Mengembalikan nombor positif jika str1 datang selepas str2

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 dengan Objects.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!

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!

Artikel Panas

Panduan pemula ' s ke Rimworld: Odyssey
1 bulan yang lalu By Jack chen
Skop pembolehubah PHP dijelaskan
4 minggu yang lalu By 百草
Petua untuk menulis komen php
3 minggu yang lalu By 百草
Mengulas kod dalam php
3 minggu yang lalu By 百草

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)

Topik panas

Tutorial PHP
1509
276
Penonton pdf tepi tidak berfungsi Penonton pdf tepi tidak berfungsi Aug 07, 2025 pm 04:36 PM

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

Bagaimana untuk melaksanakan pelanggan TCP yang mudah di Java? Bagaimana untuk melaksanakan pelanggan TCP yang mudah di Java? Aug 08, 2025 pm 03:56 PM

Importjava.ioandjava.net.socketfFori

Menggunakan aplikasi Java ke Kubernet dengan Docker Menggunakan aplikasi Java ke Kubernet dengan Docker Aug 08, 2025 pm 02:45 PM

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

Pintasan kod vs untuk memberi tumpuan kepada Panel Explorer Pintasan kod vs untuk memberi tumpuan kepada Panel Explorer Aug 08, 2025 am 04:00 AM

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.

Tetap: Kemas kini Windows gagal dipasang Tetap: Kemas kini Windows gagal dipasang Aug 08, 2025 pm 04:16 PM

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

Apakah proses siri untuk objek Java? Apakah proses siri untuk objek Java? Aug 08, 2025 pm 04:03 PM

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

Cara menggunakan gelung sementara di java Cara menggunakan gelung sementara di java Aug 08, 2025 pm 04:04 PM

AwhileloopinjavarepeatedlyexecutescodeaslongasthecondeConditionistrue; 2.InitializeAcontrolvariableBeforetheloop; 3.DefinetheloopcondusingAbeaneanExpression;

Contoh algebra linear python numpy Contoh algebra linear python numpy Aug 07, 2025 pm 04:52 PM

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;

See all articles