== 和 equals

1、对于基本数据类型变量,不能用equals, 只能用==。

用==比较变量两变量内存中对应的数值是否相等。

如:

int na = 8;

int nb = 8;

na == nb 是返回true的

2、 对于引用变量,它指向的是类型对象,该变量自己有一块内存,类型对象也有一块内存,引用变量内存里存储的是类型对象的首地址。用==比较的是引用变量的值是不是相等, 也表示这两个变量指向的对象是不是同一个对象。

如:

Object oa = new Object();

Object ob = new Object();

oa == ob 返回的是false, 因为他们指向的对象不是同一个。

Object oc = new Object();

Object od = oc;

oc == od  返回的是true。

3. equals不能用于基本数据类型。  对于定义的数据类型,个人可以根据具体的业务逻辑来定义该方法,用于检查两个对象的相等性。

对于定义的类型, 如果自己没有重写(继承自Object类), 默认情况下和==意义一样。

public boolean equals(Objectobj){ 

     return(this==obj);

}

对于String, equals方法已经被重写(override), 他判断两个字符串是不是相同的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容