"=="和equals方法有什么区别?

equals()和“==”操作用于对象的比较,检查俩对象的相等性,但是他们俩的主要区别在于前者是方法,后者是操作符。

总结:
1 一般使用比较原生类型如:boolean、int、char等等,使用equals()比较对象。
2 如果两个引用指向相同的对象
返回true,equals()的返回结果依赖于具体业务实现,一般重写equals方法时,同样重写hashcode方法,默认的equals方法实现是与“”操作一样的。
3 字符串的对比使用equals()代替
操作符

参考代码: EqualsTest

// "=="和equals测试
public class EqualsTest {
	
	public static void main(String[] args) {
		int a = 1;
		int b = 1;
		int c = 2;
		System.out.println(a == b); // true
		System.out.println(a == c); // false
		
		String s1 = new String("str"); 
		String s2 = new String("str"); 
		
		System.out.println("s1 == s2: " + (s1 == s2)); // false,比较的是内存地址,引用
		System.out.println("s1 equals s2: " + (s1.equals(s2))); // true
		
		// 对象的比较一般重写equals和hashcode方法
		Student stu1 = n
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiangyuenacha

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值