首页 > 其他 > 详细

==和equals的区别

时间:2021-07-17 18:19:35      阅读:23      评论:0      收藏:0      [点我收藏+]

1、==既可以比较基本类型,也可以比较引用类型。对于基本类型就是比较值,是否相等。对于引用类型就是比较内存的地址。

2、equals的话,它是属于java.lang.Object类里面的方法,如果该方法没有被重写过默认也是==。

(可以看到String等类的equals方法是被重写过的,而且String类在日常开发中用的比较多,久而久之,形成了equals是比较值的错误观点)。

3、具体要看自定义类有没有重写Object的方法来判断。

4、通常情况,重写equals方法,会比较类中的相应属性是否都相等。

5、通常情况下,自定义类如果要使用equals 比较对象实体(属性值)是否相同,需要对equals进行重写

public class testObj{
	public static void main(String[] args){
		//==运算符 equals方法
		int i=10;
		int j=10;
		double d=10.0;
		//System.out.println(i==d);//true
		
		char c=10;
		//System.out.println(i==c);//TRUE
		
		Customer cust1=new Customer("djalei",21);
		Customer cust2=new Customer("djalei",21);
		//System.out.println(cust1==cust2);//false 地址不同。
		
		String str1=new String("alei");
		String str2=new String("alei");
		System.out.println(str1==str2);//false 
		System.out.println(cust1.equals(cust2));//false
		System.out.println(str1.equals(str2));//重写了的
		
		//equlas()
		//只适用于引用数据类型
		//
	}
}

  

==和equals的区别

原文:https://www.cnblogs.com/Alei777/p/15023619.html

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