java字符串

String a = "abc"; 
String b = "abc"; 
System.out.println("====>"+ a==b ); 
输出结果为false.

String a = "abc"; 
String b = "abc"; 
System.out.println("====>"+ (a==b) ); 
结果就为true
为什么呢?
很简单运算符优先级问题
+号的优先级大于==
所以第一个程序先执行"====>"+ a 然后将这个结果与b进行==比较,所以地址就不再一样,返回false,而第2次先将a与b进行==比较,再与"====>"运算,所以为true

你可能感兴趣的:(java)