在招聘论坛看到一道JAVA笔试题,本以为很简单,但后来发现粗心大意答错了,现记录下来。
String a = "abc";
String b = "abc";
System.out.println("====>"+ a==b );
题目问输出了什么?我当时想都没想以为是"====>true",因为==比较的是对象的内存地址。可是我忽略了优先级关系,"+"与"=="同级别的,故顺序是从左到右。最后的答案直接输出"false"。
另:
String a = "abc";
String b = "abc";
System.out.println("====>"+ a.equals(b) );
这个答案就是"====>true"了,.equals()的优先级较高。