halo, tiba-tiba kepikiran nih, ada yg tau jawabannya ??

gini :

String di java kan termasuk class. Dan seperti kita ketahui untuk
membandingkan dua buah isi dari String biasanya kita menggunakan method
equals. sedangkan penggunaan operator == untuk membandingkan String ,maka
yang dibandingkan adalah reference atau alamat memorynya.

String a = new String("halo");
String b = new String("halo");

a==b hasilnya false, karena emang referencenya beda.

String a = "ha";
String b = "lo";
String c = a+b;

"halo" == c , hasilnya false , karena String sendiri itu constants. jadi
penggunaan + di String sama dengan menciptakan sebuah reference yang
berbeda..

Nah, ada yang tau kenapa ?

String a = "halo";
String b = "halo";

atau

String a = "halo";
"halo" == a , hasilnya true

a==b hasilnya bisa true.

Kirim email ke