System.out.println("Result .... " +a==b);
String Result is appended with 'a' and then compares with b so it provides false. (Result .... a == b) which is false.
Follow this link to understand precedence of operators in java and this.
Operator + has more precedence than == operator.
try adding brackets, you will see the diff. Bracket is evaluated separately.
public static void main(String[] args) { String a = "abc"; String b = "abc"; System.out.println("Result .... " + (a == b)); // false System.out.println(a == b); // true} }
output
Result .... true true
==right?string == stringthe alarm bells start to go off...