Tôi quan sát thấy một hành vi kỳ lạ ==
toán tử trong java. Tôi cố gắng để in ra đặt như sauhành vi lạ của == trong Java
String str1 = "Rajesh";
String str2 = "Rajesh";
System.out.println("Using equals() str1 and str2 Equals :"
+ str1.equals(str2));
System.out.println("Using == str1 and str2 Equals :"
+ str1 == str2);
Tuyên bố SOP đầu tiên in
dùng equals() str1 và str2 Equals: true
và SOP tới in ấn chỉ sai .
Tôi đã thử biên dịch trong cả nhật thực và Net Beans nhưng kết quả là như nhau. Tôi rất bối rối vì sao
Sử dụng == str1 và str2 Equals:
không được in
Giúp tôi ra trong này
Cảm ơn trước,
Raj
Did bạn cố gắng đóng gói các điều kiện trong ngoặc có thể điều kiện đầu tiên được bổ sung vào chuỗi của bạn sau đó đánh giá với str2 – Josh
' "Sử dụng == str1 và str2 Equals:"?. + str1 == str2 'sẽ là tương đương với '" Sử dụng == str1 và str2 Bằng: "+" Rajesh "==" Rajesh "'. Bởi vì '+' có ưu tiên cao hơn '==' ('2 + 2 == 4'), chúng ta sẽ có tương đương với' "Sử dụng == str1 và str2 Bằng: Rajesh" == "Rajesh" ', sẽ là 'false'. –
có thể trùng lặp của [Java String.equals so với ==] (http://stackoverflow.com/questions/767372/java-string-equals-versus) –