1. Mbandhingake senar
Iki kabeh apik lan apik. Nanging sampeyan bisa ndeleng manawa senar s1
lan s2
senar pancen padha, tegese padha ngemot teks sing padha. Nalika mbandhingake senar, kepiye carane sampeyan ngandhani program supaya ora ndeleng alamat obyek String
, nanging isine?
Kanggo mbantu iki, String
kelas Jawa duwe equals
metode. Telpon katon kaya iki:
string1.equals(string2)
Cara iki bali true
yen strings padha, lan false
yen padha ora padha.
Tuladha:
Kode | Cathetan |
---|---|
|
|
Conto liyane:
Kode | Panjelasan |
---|---|
|
false |
|
true |
|
true |
|
true |
2. Perbandingan string sing ora sensitif huruf cilik
Ing conto pungkasan, sampeyan weruh yen mbandhingake ngasilake . Pancen, senar ora padha. Nanging..."Hello".equals("HELLO")
false
Cetha, senar ora padha. Sing jarene, isine nduweni aksara sing padha lan mung beda karo kasus huruf. Apa ana cara kanggo mbandhingake lan ora nggatekake kasus huruf kasebut? Yaiku, supaya ngasilake ?"Hello".equals("HELLO")
true
Lan jawaban kanggo pitakonan iki ya. Ing Jawa, String
jinis kasebut nduweni cara khusus liyane: equalsIgnoreCase
. Telpon katon kaya iki:
string1.equalsIgnoreCase(string2)
Jeneng cara nerjemahake kira-kira minangka mbandhingake nanging nglirwakake kasus . Huruf ing jeneng metode kasebut kalebu rong garis vertikal: sing pisanan yaiku huruf cilik L
, lan sing nomer loro yaiku huruf gedhe i
. Aja nganti bingung.
Tuladha:
Kode | Cathetan |
---|---|
|
|
3. Tuladha tandhinganipun senar
Ayo menehi mung siji conto prasaja: umpamane sampeyan kudu ngetik rong garis saka keyboard lan nemtokake manawa padha. Iki bakal katon kaya kode kasebut:
Scanner console = new Scanner(System.in);
String a = console.nextLine();
String b = console.nextLine();
String result = a.equals(b) ? "Same" : "Different";
System.out.println(result);
4. Nuance menarik saka comparison senar
Ana siji nuansa penting sing sampeyan kudu ngerti.
Yen compiler Jawa nemokake sawetara strings podho rupo ing kode (khusus ing kode Panjenengan), banjur bakal nggawe mung obyek siji kanggo wong-wong mau kanggo nyimpen memori.
String text = "This is a very important message";
String message = "This is a very important message";
Lan iki minangka akibat saka memori:

Lan yen sampeyan mbandhingake text == message
kene, sampeyan entuk true
. Mula aja gumun.
Yen sakperangan alesan sampeyan pancene mbutuhake referensi supaya beda, sampeyan bisa nulis iki:
String text = "This is a very important message";
String message = new String ("This is a very important message");
Utawa iki:
String text = "This is a very important message";
String message = new String (text);
Ing loro kasus kasebut, variabel text
lan message
nuduhake obyek beda sing ngemot teks sing padha.
GO TO FULL VERSION