Seperti sudah anda ketahui sebelumnya bahwa String merupakan class yang istimewa pada java dan terdapat beberapa alasan mengapa String tersebut immutable.
Terkadang dalam pemrograman Java kita memerlukan untuk membandingkan dua buah String.
Kali ini kita menggunakan method:
- compareTo()
- equals()
- equalsIgnoreCase()
- compareToIgnoreCase()

Menggunakan method compareTo(), equals(), equalsIgnoreCase(), dan compareToIgnoreCase()
a) compareTo()
Method compareTo() akan membandingkan nilai String secara leksikografis dan akan mengembalikan nilai berupa integer yang akan menjelaskan apakah string pertama yang dibandingkan tersebut lebih kecil, setara ataupun lebih besar dari string kedua.
Setiap karakter dalam String akan di konversi ke dalam nilai Unicode untuk perbandingan. Jika nilai kedua string setara maka nilai 0 akan dikembalikan dan sebaliknya maka nilai positif atau negatif akan dikembalikan.
Nilai yang dikembalikan akan bernilai positif jika string pertama secara leksikografis lebih besar dibandingkan dengan string kedua dan jika sebaliknya maka nilai negatif akan dikembalikan.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
public class ContohCompareTo { public static void main(String args[]) { String string1 = "Belajar Pemrograman Java"; String string2 = "Belajar Java Itu Menyenangkan"; String string3 = "Belajar Pemrograman Java"; int var1 = string1.compareTo( string2 ); System.out.println("Perbandingan string1 & string2 : "+var1); int var2 = string1.compareTo( string3 ); System.out.println("Perbandingan string1 & string3 : "+var2); int var3 = string2.compareTo("Belajar Java Itu Menyenangkan"); System.out.println("string2 & perbandingan string argument: "+var3); } } |
Output:
1 2 3 |
Perbandingan string1 & string2 : 6 Perbandingan string1 & string3 : 0 string2 & perbandingan string argument: 0 |
b) equals
Method equals akan membandingkan konten orisinil dari string. Method ini akan membadingkan equality dari string.
1 2 3 4 5 6 7 8 9 10 11 12 |
public class ContohEquals{ public static void main(String args[]){ String string1= new String("Java"); String string2= new String("java"); String string3= new String("Java"); System.out.println("string1 equals to string2:"+string1.equals(string2)); System.out.println("string1 equals to string3:"+string1.equals(string3)); System.out.println("string1 equals to Java:"+string1.equals("Java")); System.out.println("string1 equals to Developer:"+string1.equals("Developer")); System.out.println("string1 equals to hello:"+string1.equals("hello")); } } |
Output:
1 2 3 4 5 |
string1 equals to string2:false string1 equals to string3:true string1 equals to Java:true string1 equals to Developer:false string1 equals to hello:false |
c) equalsIgnoreCase()
Method ini akan membandingkan dua string dengan persyaratan yang lebih longgar. Jadi selama urutan stringnya sama, walaupun kedua string memiliki perbedaan penggunaan huruf besar dan huruf kecil, ataupun menggunakan penulisan ‘camel’, maka akan tetap bernilai true.
Lihat contoh berikut ini:
1 2 3 4 5 6 7 8 9 10 11 12 |
public class ContohEqualsIgnoreCase{ public static void main(String args[]){ String string1= new String("Apel"); String string2= new String("MANGGA"); String string3= new String("APEL"); System.out.println("string1 equals to string2:"+string1.equalsIgnoreCase(string2)); System.out.println("string1 equals to string3:"+string1.equalsIgnoreCase(string3)); System.out.println("string1 equals to Jambu:"+string1.equalsIgnoreCase("Jambu")); System.out.println("string1 equals to Apel:"+string1.equalsIgnoreCase("Apel")); System.out.println("string2 equals to mangga:"+string2.equalsIgnoreCase("mangga")); } } |
Output:
1 2 3 4 5 |
string1 equals to string2:false string1 equals to string3:true string1 equals to Jambu:false string1 equals to Apel:true string2 equals to mangga:true |
d. compareToIgnoreCase()
Method ini serupa dengan equalsToIgnoreCase(), hanya saja akan mengembalikan nilai seperti pada method compareTo().
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
public class CompareExample { public static void main(String args[]) { String str1 = "JAVA"; String str2 = "java"; String str3 = "Javax"; int var1 = str1.compareToIgnoreCase(str2); System.out.println("Perbandingan str1 and str2: "+var1); int var2 = str1.compareToIgnoreCase(str3); System.out.println("Perbandingan str1 and str3: "+var2); int var3 = str1.compareToIgnoreCase("JAva"); System.out.println("Perbandingan string1 and JAva: "+var3); } } |
Output
1 2 3 |
Perbandingan str1 and str2: 0 Perbandingan str1 and str3: -1 Perbandingan string1 and JAva: 0 |
Leave a Reply