Perbandingan rentetan adalah perkara biasa untuk mana-mana bahasa pengaturcaraan. Terdapat pelbagai cara kita boleh membandingkan rentetan. Di Jawa sendiri, terdapat pelbagai cara kita boleh menyemak string yang sama. Kami mempunyai senarai fungsi; kita boleh mencapai ini dengan menggunakan itu dalam bahasa pengaturcaraan Java. Secara umum, kami mempunyai Java equals() dan equalsIgnoreCase() untuk menyemak kesamaan rentetan. Equals() ialah fungsi yang merupakan fungsi sensitif huruf besar-besaran. Jika kita ingin meneruskan dengan in-case sensitive, kita boleh menggunakan fungsi equalsIgnoreCase() untuk melakukan kerja yang sama. Kami juga boleh menyemak perbandingan rentetan dengan menggunakan operator == dan compareTo().
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Untuk menggunakan rentetan yang sama, kita mesti mempunyai sekurang-kurangnya dua rentetan. Katakan STR_1 dan STR_2. Kita hanya boleh menggunakan operator Java equals.
== Operator
String STR_1 = "This is String"; String STR_2 = "This is String"; if(STR_1 == STR_2){ System.out.print("Both strings are equal."); }
Selepas menjalankan kod di atas, kita dapat melihat kedua-dua rentetan adalah sama.
fungsi equals() – Sekali lagi, fungsi ini adalah sensitif huruf besar-besaran untuk menyemak sama ada dua rentetan adalah sama atau tidak. Ini berfungsi dengan cara compareTo() berfungsi untuk rentetan. Jenis pengembalian fungsi ini ialah Boolean. Ini ialah fungsi sensitif huruf besar-kecil.
String str1 = "Hello World"; String str2 = "Hello World"; boolean equalsStr = str1.equals(str2);
equalsIgnoreCase() – Fungsi ini berfungsi sangat serupa dengan fungsi compareToIgnoreCase(). Ini mengabaikan semakan kes sebagai tambahan kepada fungsi equals() berfungsi.
String str1 = "Hello World"; String str2 = "Hello World"; boolean equalsStr = str1.equalsIgnoreCase(str2);
Fungsi Java compareTo() – Ini ialah fungsi sensitif huruf besar-besaran untuk perbandingan rentetan. Jika kita ingin membandingkan teks atau rentetan yang sama dengan semakan kes, fungsi ini adalah yang terbaik untuk berbuat demikian. Dalam kod di bawah kita mempunyai rentetan yang sama 'Hello World' tetapi dalam str2 kita mempunyai perkataan 'Hello' dengan 'h' kecil. Jadi kedua-dua rentetan ini tidak sama.
String str1 = "Hello World"; String str2 = "hello World"; int compare = str1.compareTo(str2);
Kami tidak akan 0 dalam pengecam perbandingan jika kedua-dua rentetan adalah sama. Tetapi dalam kes di atas kita tidak akan mendapat 0. Dalam erti kata lain, rentetan tidak sama untuk str1 dan str2.
Fungsi Java compareToIgnoreCase() – Sekiranya kita mahu rentetan itu dibandingkan dengan padanan kes maka fungsi ini akan membantu kita. Mari lihat rentetan yang sama seperti yang dinyatakan di atas menggunakan fungsi compareToIgnoreCase().
String str1 = "Hello World"; String str2 = "hello World"; int compare = str1.compareToIgnoreCase(str2);
int compareTo(String str)
Jenis pemulangan fungsi ini ialah integer. Jika kedua-dua rentetan adalah sama, maka fungsi ini akan mengembalikan 0. Ini juga akan memeriksa rentetan dalam kes yang sama. Rentetan akan dianggap sebagai tidak sama walaupun selepas sama, tetapi kes itu tidak dalam susunan yang serupa.
int compareToIgnoreCase(String str)
Jenis pemulangan fungsi ini ialah integer. Jika kedua-dua rentetan adalah sama, maka fungsi ini akan mengembalikan 0. Ini juga akan menyemak rentetan berada dalam kes yang sama. Ini akan mengabaikan perbezaan kes.
boolean equals (String str1); If strings will be equal, then it will return true otherwise false. boolean equalsIgnoreCase(String str1);
Jika rentetan akan sama, maka ia akan mengembalikan yang benar. Perbezaan kes akan diabaikan oleh fungsi ini.
Kini, tiba masanya untuk melihat beberapa contoh untuk memahami perkara yang telah kita bincangkan sehingga sekarang.
Kod:
public class StrEquals { public static void main(String[] args) { String str1 = "Hello World"; String str2 = "hello World"; boolean equalsStr = str1.equals(str2); if(equalsStr == true){ System.out.print("Strings are equal."); }else{ System.out.print("Strings are not equal."); } } }
Output
Ini ialah fungsi sensitif dalam huruf besar.
Kod:
public class StrEquals { public static void main(String[] args) { String str1 = "Hello World"; String str2 = "hello World"; boolean equalsStr = str1.equalsIgnoreCase(str2); if(equalsStr == true){ System.out.print("Strings are equal."); }else{ System.out.print("Strings are not equal."); } } }
Output
Kod:
public class StrEquals { public static void main(String[] args) { String str1 = "Hello World"; String str2 = "hello World"; int equalsStr = str1.compareTo(str2); if(equalsStr == 0){ System.out.print("Strings are equal."); }else{ System.out.print("Strings are not equal."); } } }
Output
Ini ialah fungsi sensitif dalam huruf besar.
Kod:
public class StrEquals { public static void main(String[] args) { String str1 = "Hello World"; String str2 = "hello World"; int equalsStr = str1.compareToIgnoreCase(str2); if(equalsStr == 0){ System.out.print("Strings are equal."); }else{ System.out.print("Strings are not equal."); } } }
Output
Ya, kita boleh menggunakan == untuk perbandingan rentetan. Ini akan berfungsi sebagai semakan sama sensitif huruf besar-besaran. Jika kita ingin mengabaikan penyemakan kes maka toLowerCase() dan toUpperCase() boleh melakukan kerja untuk kita. Dengan menggunakan mana-mana fungsi ini, rentetan akan berada dalam kes yang sama maka kita boleh menggunakan == ini untuk rentetan yang sama.
Kod:
public class StrEquals { public static void main(String[] args) { String string1 = "Hello World, this is first."; String string2 = "hello World, this is first."; if(string1 == string2){ System.out.print("Strings are equal."); }else{ System.out.print("Strings are not equal."); } } }
Output
Sekarang, kami telah merangkumi semua contoh.
Kami menggunakan mana-mana fungsi terbina dalam mengikut keperluan perniagaan kami. Kami mempunyai equals(), equalsIgnoreCase(), compareTo(), compareToIgnoreCase dan lain-lain fungsi terbina dalam Java untuk mengendalikan perbandingan rentetan. Pembangun atau pengekod harus cukup bijak untuk meneruskan dengan mana-mana fungsi ini mengikut keperluan perniagaan. Jika keperluan kita tidak begitu kritikal, kita juga boleh menggunakan pendekatan tradisional perbandingan rentetan iaitu pengendali == (bersamaan ganda).
Atas ialah kandungan terperinci Java String Equals. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!