Java中“==”和“equals()”的区别
Posted 八月份的尾巴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中“==”和“equals()”的区别相关的知识,希望对你有一定的参考价值。
“==”比较的是变量所指向的对象,当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()”的区别的主要内容,如果未能解决你的问题,请参考以下文章