java中 == 和equals()方法的区别是什么

1、== 是个操作符
==操作符专门用来计较变量的值是否相同

  • 基本数据类型: 比较的是他们的值是否相同;
    其中基本数据类型包括
    整数:byte、short、int、long;
    小数: float、double;
    字符型: char;
    布尔: boolean。
  • 引用数据类型: 比较的是他们的内存地址是否相同;
    其中引用数据类型一般包含 数组、类、接口。
    引用类型对象变量其实是一个引用, 他们的值指向对象所在的内存地址, 而不是对象本身。

2、equals()方法
equals方法常用来比较对象的内容是否相同。
java当中所有的类都是继承于Object这个超类,在Object类中定义的equals方法:

public boolean equals(Object obj){
		return (this == obj);
}
  • 为重写equals方法的类: Object 中的equals方法实际使用的也是==操作符, 比较的是他们的内存地址是否同一地址。

  • 重写了equals方法的类: 实现该类自己的equals方法的比较逻辑(一般是比较对象的内容是否相同)。比如:
    String:比较字符串的内容,内容相同就相同;
    Integer:比较对应的基本数据类型int的值是否相同。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值