【特种兵系列】String中的==和equals()

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(),==是没法匹配字符串的,可是上述结果却说明了个人印象并不是正确html

2.基础分析

“==”分析:==是用来匹配内存单元上的内容,其实质就是一个数字,Java语言用==匹配时其实就是对比两个内存单元的内容是否同样。如下原始类型即为直接比较值:byte、boolen、short、char、int、long、float、doublejava

转载于:https://www.cnblogs.com/Codenewbie/p/4010525.htmlpost