个人观点 String str = new String("abc");
new String("abc") 是new了一块内存,里面放了 "abc"
但是直接使用的"abc"是放在常量区的一个东东, "abc" 和 str并不是同一个东西 如果你需要用的是str然后你用了 "abc".equals这个方法 其实判断的是"abc"和你要判断的那个东西是不是同一个,对你的str完全没了作用。
这样然后去看你的问题
"abc".equals(str) 和 str.equals("abc") 可以这么想,一个是 我和你 比 一个是 你和我 比,主动和被动的关系吧 |