码迷,mamicode.com
首页 > 编程语言 > 详细

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

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

标签:span   system   nbsp   结果   pre   int   创建   定义   col   

“==”比较的是变量所指向的对象,当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()”的区别

标签:span   system   nbsp   结果   pre   int   创建   定义   col   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!