equals和==的区别

Posted xiaotiancai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了equals和==的区别相关的知识,希望对你有一定的参考价值。

equals的作用:

用于判断两个变量是否是对同一个对象的引用,即堆中的内容是否相同,返回值为布尔类型

String类型比较不同对象内容是否相同,应该用equals

 

 "=="操作符的作用

1、用于基本数据类型的比较

2、判断引用是否指向堆内存的同一块地址。

 

把String当作基本类型来使用时:

例:如果值不相同,对象就不相同,所以"==" 和equals结果一样

1 String s1 = "java";
2 String s2 = "java";
3 
4 System.out.println(s1==s2);            //true
5 System.out.println(s1.equals(s2));    //true

若把String当作一个对象来使用时:

例:对象不同,内容相同,"=="返回false,equals返回true

1 String s1 = new String("java");
2 String s2 = new String("java");
3 
4 System.out.println(s1==s2);            //false
5 System.out.println(s1.equals(s2));    //true

例:同一对象,"=="和equals结果相同

1 String s1 = new String("java");
2 String s2 = s1;
3 
4 System.out.println(s1==s2);            //true
5 System.out.println(s1.equals(s2));    //true

 

以上是关于equals和==的区别的主要内容,如果未能解决你的问题,请参考以下文章

Java之equals和==区别

java equals 和 == 区别

== 和 equal 区别

== 和 Equals() 之间的 C# 区别

equals和==的区别

Java ==和equals有什么区别?