equals在java中的用法, 什么是equals()办法
在Java中,`equals` 办法用于比较两个目标是否持平。它是一个实例办法,存在于 `Object` 类中,而且能够被一切的类承继。`equals` 办法的默许实现是查看两个目标的引证是否相同,即它们是否指向内存中的同一个方位。许多类会重写这个办法来供给更详细的比较逻辑。
下面是一些关于 `equals` 办法的注意事项和用法:
1. 重写 `equals` 办法:假如你要创立一个自界说类,而且期望运用 `equals` 办法来比较目标的内容而不是引证,那么你需求重写 `equals` 办法。在重写时,你应该遵从一些准则,比方坚持 `equals` 办法的一致性、对称性、传递性以及与 `hashCode` 办法的一致性。
2. 比较逻辑:在重写 `equals` 办法时,你需求界说什么是“持平”。一般,这涉及到比较目标的要害特点。例如,假如你有一个 `Person` 类,你或许期望两个 `Person` 目标持平,假如它们的 `name` 和 `age` 特点相同。
3. 运用 `==` 和 `equals` 的差异:`==` 操作符用于比较两个目标的引证是否相同,而 `equals` 办法用于比较目标的内容是否相同。当比较根本数据类型时,`==` 操作符和 `equals` 办法的作用是相同的。
4. `null` 值的处理:在重写 `equals` 办法时,你应该查看 `null` 值,以防止 `NullPointerException`。
5. `hashCode` 办法:当你重写 `equals` 办法时,一般也需求重写 `hashCode` 办法。这是由于 `equals` 和 `hashCode` 办法之间存在约好:假如两个目标依据 `equals` 办法持平,那么它们的 `hashCode` 值也应该相同。
下面是一个简略的比如,展现了如安在一个自界说类中重写 `equals` 办法:
```javapublic class Person { private String name; private int age;
public Person { this.name = name; this.age = age; }
@Override public boolean equals { if { return true; } if != obj.getClassqwe2 { return false; } Person person = obj; return age == person.age
猜你喜欢
- 后端开发
go加ing,深化解析“Go 动词ing”结构在英语中的用法
在英语中,动词加“ing”一般表明动作正在进行。你供给的“go加ing”似乎是一个不完整的语句或短语。假如你是在问询如何将“go”这个动词转换成进行时态,那么答案是“going”。例如,“Iamgoingtothestore”表明...
2024-12-26 0 - 后端开发
php的效果,网站功用集成
PHP(HypertextPreprocessor,超文本预处理器)是一种广泛运用于Web开发的开源脚本言语。它首要运转在服务器端,用于动态生成网页内容。PHP的效果首要体现在以下几个方面:1.动态网页生成:PHP能够依据用户的恳求,动...
2024-12-26 0 - 后端开发
rust木门怎样拆,Rust游戏中木门撤除攻略
拆装木门是一项需求慎重操作的使命,尤其是关于初学者来说。下面是一些根本的过程,能够帮忙你安全地拆下Rust木门:1.预备东西:在开端之前,保证你具有必要的东西,如螺丝刀、锤子、凿子、钳子等。2.断电:假如门邻近有电源插座或开关,请先封闭...
2024-12-26 0 - 后端开发
python能够做游戏吗,游戏开发范畴的强壮东西
当然能够!Python是一种十分盛行的编程言语,它具有丰厚的库和东西,能够用来开发各种类型的游戏。Python的简略性和易学性使其成为初学者学习游戏开发的抱负挑选。1.Pygame:Pygame是一个开源的Python库,用于开...
2024-12-26 0 - 后端开发
r言语逻辑回归,原理、运用与实例剖析
R言语逻辑回归:原理、运用与实例剖析跟着大数据年代的到来,数据剖析在各个范畴都发挥着越来越重要的作用。R言语作为一种功能强大的计算软件,在数据剖析范畴有着广泛的运用。逻辑回归作为一种常用的计算模型,在分类问题中有着重要的运用价值。本文将介绍...
2024-12-26 0 - 后端开发
run swift,现代编程言语的兴起
Swift是一种用于iOS、macOS、watchOS和tvOS开发的编程言语。要在本地环境中运转Swift代码,您需求装置Xcode,这是Apple供给的开发工具集,它包含了Swift编译器和运转时环境。假如您想要...
2024-12-26 0 - 后端开发
JAVA容器,Java容器概述
Java容器概述Java容器是Java编程言语中用于存储和操作目标的类库。它们供给了不同的数据结构和完成原理,以满意开发过程中各种需求。Java容器类库是Java规范库的一部分,广泛用于Java应用程序的开发。Java容器承继联系Java容...
2024-12-26 0 - 后端开发
beat maker go,什么是Beat Maker Go?
BeatMakerGo是一款终极鼓垫控制器运用程序,适用于iOS和Android设备。以下是对该运用程序的详细介绍和点评:功用介绍1.丰厚的声响包:供给超越200种声响包,包含多种音乐风格,包含HipHop、Dubstep、...
2024-12-26 0