Điều này liên quan đến sự khác biệt trong kết quả được trả về bởi toán tử '+'. Kết quả khác nhau đối với String literal và String Object.+ Toán tử trong chuỗi lớp
String str="ab";
String str1="c";
String str2 = "ab"+"c"; // Line 3
String str3 = "abc";
String str4 = str+str1; // Line 5
System.out.println(str2==str3); // True
System.out.println(str2==str4); // False
Với kết quả chúng ta có thể suy ra rằng với nghĩa đen, đối tượng đã có sẵn từ hồ bơi chuỗi được trả lại như trong trường hợp của dòng 3 và với chuỗi phản đối đối tượng mới được trả lại, như trong dòng 5. Tại sao nó như vậy ?
Tôi đã so sánh tham chiếu bình đẳng trong trường hợp này. – Prashant
+1, tôi cũng muốn biết lý do tại sao, mặc dù tôi cho rằng đó là vì bạn đang chỉ định các chuỗi ký tự 1-4 và làm nối trong str4 Tôi không chắc chắn nếu theres'a một lý do khác. – Thihara