Java中equals和==的区别

一、对象类型不同
1、equals():是超类Object中的方法;
2、==:是操作符.

二、比较的对象不同
1、equals():用来检测两个对象是否相等,即两个对象的内容是否相等;
2、==:用于比较引用和比较基本数据类型时具有不同的功能.

三、运行速度不同
1、equals():没有 = = 运行速度快。
2、= =:运行速度比equals()快,因为==只是比较引用。

equals()和==的源码定义:

public boolean equals(Object obj) {
	return (this == obj);
} 

比较数组是否相等用equals
数组相等的条件不仅要求数组元素的个数必须相等,而且要求对应位置的元素也相等。Arrays 类提供了 equals() 方法比较整个数组。

equals比较的是两个字符串内容是否相等
**==**比较的是两个字符串的内存地址是否相同。
所以以后比较两个字符串内容是否相等要用equals();
==号在比较基本数据类型时比较的是值,
而用= =号比较两个对象时比较的是两个对象的地址值.

举个通俗的例子来说,==是判断两个人是不是住在同一个地址,而equals是判断同一个地址里住的人是不是同一个

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值