咨询热线

0371-86158370

软件开发:你不可不知的equals方法和“==”的区别

如果您正在寻找相关产品或有其他疑问,可随时拨打服务热线,或点击下方按钮与我们在线交流!

2023-04-13 13:48:35 发布者:超级管理员

例如,String input = …;input.equals(“quit”),此时如果使用==进行比较,就是错误的。如果一个类自身没有定义equals方法,那么它将继承Object类的equals方法,Object类的equals方法的实现代码如下:

boolean equals(Object o){

return this==o;

}

从上面可以看出,如果一个类没有定义自己的equals方法,它从Object 类继承的equals方法就是使用“==”操作符,如果是比较两个变量指向的对象是否是同一对象,使用“==”或者equals会得到相同的结果,如果比较的是两个独立的对象,则会返回false。如果你希望编写的类可以比较该类所创建的两个实例对象的内容是否相同,就需要覆盖equals方法。

图片


“==”操作符可以比较两个变量的值是否相等,也就是比较变量在其所对应的内存中存储的数值是否相同,如果要比较两个引用变量或两个基本类型的数据是否相等,必须使用“==”操作符。

如果一个变量指向对象类型的数据,那么此时就涉及了两块内存,对象本身会占用一块内存,变量也会占用一块内存,比如Objet obj = new Object(),变量obj是一个内存,new Object()是另一个内存。如果要比较两个指向对象类型的变量是否指向同一个对象,即要比较这两个变量所对应的内存中的数值是否相等时,就要用“==”操作符进行比较。


相关产品
更多推荐
科技·质量·服务·创新

科技·质量·服务·创新

提交需求

如果您对我们的产品感兴趣,或者我们有什么可以帮助到您的,您可以随时在线与我们沟通。 当然您也可以在下面给我们留言,我们将热忱为您服务!

快速响应给予技术咨询答复

专业优质软件服务

成熟领先产品解决方案

专业可靠合作伙伴

免费咨询 0371-86158370
免费获取报价

获取报价

销售热线销售热线:0371-86158370

返回顶部

首页 在线咨询在线咨询 一键拨打一键拨打
Baidu
map