java中equal和==的区别
来源:互联网 发布:2017淘宝查的太严了吧 编辑:程序博客网 时间:2024/06/15 18:46
1.值类型和引用类型
2.自定义的类
如果是你自己定义的一个类没有覆写euqals方法,那么用equals和==是一样的,都是比较句柄地址,因为自定义的类是继承于object,而object中的
equals就是用==来实现的。若要重新定义两个对象的比较,需要重写equals()方法
例2:使用默认的equals方法,比较两个内容相同的对象
值类型:没有equals方法,只有==;
引用类型:使用equals和==两种形式比较;
==操作比较的是两个变量的值是否相等,即是否指向堆内存中的同一对象;equals比较两个变量实际指向的堆中的内容是否相同。例1:以String类为例,s1,s3指向堆中同一段地址,s2指向堆中另一段地址,但存储的内容和s1,s3相同;
public class EqualTest {public static void main(String[] args){String s1="lpq";String s2=new String("lpq");System.out.println(s1.equals(s2));System.out.println(s1==s2);String s3="lpq";System.out.println(s1.equals(s3));System.out.println(s1==s3);}}输出:truefalsetruetrue
2.自定义的类
如果是你自己定义的一个类没有覆写euqals方法,那么用equals和==是一样的,都是比较句柄地址,因为自定义的类是继承于object,而object中的
equals就是用==来实现的。若要重新定义两个对象的比较,需要重写equals()方法
例2:使用默认的equals方法,比较两个内容相同的对象
public class EqualTest {public static void main(String[] args){A a=new A("first");A b=new A("first");System.out.println(a.equals(b));System.out.println(a==b);}}class A{public String s;public A(){}public A(String s){this.s=s;}}输出:falsefalse例3:覆写equals方法,比较两个内容相同的对象
public class EqualTest {public static void main(String[] args){A a=new A("first");A b=new A("first");System.out.println(a.equals(b));System.out.println(a==b);}}class A{public String s;public A(){}public A(String s){this.s=s;}public boolean equals(A a){if(this.s.equals(a.s))return true;elsereturn false;}}输出:truefalse
2 0
- java中==和 equal区别
- java中“==”和equal区别
- java中equal 和 ==的区别
- Java中equal和"=="的区别
- java中equal()方法和==的区别
- Java中equal和"=="的区别
- Java中equal和==的区别
- JAVA中“==”和"equal"的区别
- Java中equal和"=="的区别
- java中==和equal的区别
- Java中equal和==的区别
- java中equal 和 ==的区别
- Java中== 和equal的区别
- java中 == 、 equal和instanceof 的区别
- Java中“==”和equal()的区别
- Java中“==”和equal的区别
- java中“==”和“equal()”的区别
- Java中equal和==的区别是什么
- Bash Shell 学习记录三
- 关于struts2结合json的用法中遇到的问题及解决方法
- struts入门,实现页面跳转
- 某企业级hadoop源代码分析-2
- Attribute与Property的区别
- java中equal和==的区别
- 初识ajax
- [leetcode:python]7.Reverse Integer
- JVM的基本结构及其各部分详解(一)
- php变量
- C# where
- Web服务器的一些知识点
- 欧拉函数及其相关
- JVM的基本结构及其各部分详解(二)