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.