public static void main(String[] args) { String a = "a" + "b" + 123; String b = "ab123"; System.out.println(a == b); }
true
public static void main(String[] args) { String a = "a" + "b" + 123; String b = "ab123"; System.out.println(a.equals(b)); } true
比较两段代码,不一样的地方在于 a==b 和a.equals(b) ,但是输出结果却都是true,(刚接触java时的印象是:两个对象的比较是用equals(),==是无法匹配字符串的,但是上述结果却说明了我的印象并非正确)
“==”分析:==是用来匹配内存单元上的内容,其实质就是一个数字,Java语言用==匹配时其实就是对比两个内存单元的内容是否一样。以下原始类型即为直接比较值:byte、boolen、short、char、int、long、float、double
原文:http://www.cnblogs.com/Codenewbie/p/4010525.html