1. 小样示例
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(),==是无法匹配字符串的,但是上述结果却说明了我的印象并非正确)
2.基础分析
“==”分析:==是用来匹配内存单元上的内容,其实质就是一个数字,Java语言用==匹配时其实就是对比两个内存单元的内容是否一样。以下原始类型即为直接比较值:byte、boolen、short、char、int、long、float、double