Chào mọi người.
Em đang theo học về lập trình java và em gặp một chút vấn đề trong việc xử lý Integer và String mong ace trong nhóm giúp đỡ ạ.
Ví dụ 1:
Integer a = 127;
Integer b = 127;
boolean check c = a==b;//true
// a và b nhận giá trị từ -128 đến 127 thì c đều trả về true ngoài khoảng đó ra thì c trả về false
Ví dụ 2:
String a = "ABC";
String c = "ABCDEF";
String b = c.subString(0,3);// trả về ABC
String d = c.subString(0,3):
String e = c.subString(0,c.length());// trả về ABCDEF
boolean check c1 = a==b;//false
boolean check c2 = b==d;//false
boolean check c3 = e==c;//true
Mọi người có thể giải thích cho em lý do tại sao nó lại trả về kết quả như vậy không ạ.
Cám ơn đã xem ạ.