首页 > 编程语言 > 详细

Java中“==”和“equals()”的区别

时间:2017-09-22 11:03:06      阅读:223      评论:0      收藏:0      [点我收藏+]

“==”比较的是变量所指向的对象,当S1在内存中定义以后,再定义s2的时候s2所指向的值是定义s1时候所创建的,而不是又在内存创建了一个“Monday”。

“equals”比较的是对象所指向的值,所以不管在内存中新建了多少个对象,当用equals比较的时候结果总是Ture.

 

    @Test
    public void Test1() {
        String s1 = "Monday";
        String s2 = "Monday";
        System.out.println("s1==s2->>"+(s1==s2));//true
        System.out.println("s1.equals(s2)->>"+s1.equals(s2));//true
    }
    
    //执行结果如下
    //s1==s2->>true
    //s1.equals(s2)->>true
    
    @Test
    public void Test2() {
        String s1 = "Monday";
        String s2 = new String("Monday");
        System.out.println("s1==s2->>"+(s1==s2));//false
        System.out.println("s1.equals(s2)->>"+s1.equals(s2));//true
        
        //执行结果如下
        //s1==s2->>false
        //s1.equals(s2)->>true
}

 

Java中“==”和“equals()”的区别

原文:http://www.cnblogs.com/liujie-/p/4721719.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!