【特种兵系列】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(),==是无法匹配字符串的,但是上述结果却说明了我的印象并非正确

2.基础分析

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

posted @ 2014-10-08 09:58  Myna Wang  阅读(312)  评论(0编辑  收藏  举报
免费流量统计