`
XiaoFan012
  • 浏览: 15880 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Object.equals()方法的通用约定

    博客分类:
  • j2se
 
阅读更多

通用约定:

  • 自反性:对任何非null的引用值x, x.equals(x) 必须返回true;
  • 对称性:对任何非null的引用值x和y,当且仅当x.equals(y)返回true时,y.equals(x)返回true;
  • 传递性:对任何非null的引用值x,y,z,如果x.equals(y)返回true,y.equals(z)返回true,则x.equals(z)必须返回true;
  • 一致性:对任何非null的引用值x,y,只要对象中的信息没更改,则多次调用x.equals(y)的返回值必须一致;
  • 对于任何非null的引用值x, x.equals(null)必须返回false;

 

分享到:
评论

相关推荐

    Java容器集合(equals 和 hashCode+基础数据结构+ArrayList+Vector和LinkedList)

    重写equals方法需要遵守通用约定,hashCode方法的实现需要保证equals相同的两个对象的hashCode结果一致。ArrayList、Vector和LinkedList是Java中三种常见的容器集合,每种集合都有其特点和应用场景。

    学习Object类——为什么要重写equeals和hashcode方法

    此外,Object 类的设计是为了扩展,它提供了一些非 final 方法,如 equals、hashCode、toString、clone 和 finalize,这些方法都有通用的约定,需要在子类中被覆盖(override)。如果不遵守这些约定,依赖这些约定的...

    详解hashCode()和equals()的本质区别和联系

    在重写 equals() 方法时,需要遵守通用约定,包括: 1. 自反性:对于任意的引用值 x,x.equals(x) 一定为 true。 2. 对称性:对于任意的引用值 x 和 y,当 x.equals(y) 返回 true 时,y.equals(x) 也一定返回 true...

    高效Java 第三部分,经典的国外教材

    本文将重点介绍 `equals()` 方法的正确实现方式及其通用约定。 #### 二、`equals()` 方法的通用约定及重要性 **1. 自反性(Reflexive)** - 对于任意的引用值 `x`,`x.equals(x)` 必须返回 `true`。 - 这意味着一...

    Java中Equals使用方法汇总

    重写`equals`方法时,应遵循以下通用约定: 1. **自反性**:对于任何对象`x`,`x.equals(x)`应返回`true`。 2. **对称性**:如果`y.equals(x)`返回`true`,那么`x.equals(y)`也应该返回`true`。 3. **传递性**:...

    NET设计规范-.NET约定、惯用法与模式.part2

    8.7.1 Object.Equals 210 8.7.2 Object.GetHashCode 212 8.7.3 Object.ToString 213 8.8 Uri 214 8.9 System.Xml的使用 216 8.10 相等性操作符 218 8.10.1 值类型的相等性操作符 218 8.10.2 引用类型...

    NET设计规范-.NET约定、惯用法与模式.part1

    8.7.1 Object.Equals 210 8.7.2 Object.GetHashCode 212 8.7.3 Object.ToString 213 8.8 Uri 214 8.9 System.Xml的使用 216 8.10 相等性操作符 218 8.10.1 值类型的相等性操作符 218 8.10.2 引用类型...

    java中equals和==的区别.pdf

    在Java编程语言中,`equals()`方法和`==`运算符是两个经常用来比较对象的...同时,为了确保其他自定义类的`equals()`方法正确实现,应遵循通用约定,即同时重写`equals()`和`hashCode()`方法,以保持一致性和正确性。

    中央java编码规范

    - **对于对象的比较慎用==,使用OBJECT.EQUALS()方法**:确保对象比较的正确性。 综上所述,中央Java编码规范涵盖了从基本的命名约定到高级的最佳实践,旨在帮助开发者编写出高质量、高效率的Java代码。这些规范...

    JPL_Coding_Standard_Java

    12. **R12:将equals()方法的参数类型设置为Object** - 重写`equals()`方法时,应接受一个`Object`类型的参数。 - 这样的设计可以确保方法的通用性。 #### 内存管理 13. **R13:不使用终结器(finalizer)** - ...

    java 编程规则

    - 创建通用类时,应包含常用的方法:`equals()`、`hashCode()`、`toString()`、`clone()`(实现`Cloneable`)和`Serializable`接口。 3. **测试代码**: - 为每个类提供一个`main()`方法用于测试,方便检查和验证...

    Java编程规范

    8. **equals()与hashCode()**:当重写`equals()`方法时,务必也重写`hashCode()`,以保持对象的等价性。同时,这两个方法的行为应符合Object类中的定义。 9. **final**:在不打算修改的变量前使用`final`关键字,...

    C#编码规约

    - **对象的等价比较**:当比较两个对象是否相等时,应优先使用`Object.Equals()`方法。 - **声明与初始化**:及时初始化变量,尤其是在构造函数中。 - **本地变量的重用**:避免在不同作用域内重用相同的变量名。 - ...

    面向对象OO程序设计概念PPT课件.PPTx

    **Java中的Object类**:在Java中,所有类都直接或间接地继承自Object类,它提供了所有Java对象通用的行为,如toString()、equals()和hashCode()等方法。通过继承,我们可以为特定类添加额外的功能,同时保持与Java...

    core java达内培训资料

    根据给定的文件信息,以下是对“core java...Object是所有Java类的根类,提供了如toString()、equals()、hashCode()等基础方法,用于支持对象的基本操作。理解并适当重写这些方法对于编写高质量的Java代码至关重要。

    平台Java代码编程规范

    - 尽可能使用明确的类型,避免使用`Object`作为通用类型。 - 避免声明全局变量,除非必要,优先使用局部变量。 - 对于数组声明,最好使用`new Type[Size]`的形式,而不是`new Type[Size][]{}`。 - 参数命名应具有...

    黑马程序员入学Java知识

    - 定义了一些公共方法,如`toString()`、`equals()`等。 5. **代码块** - 用于初始化对象的代码块。 - 构造代码块在每次创建对象时都会执行。 6. **构造方法的私有化** - 防止外部创建对象。 - 常用于单例...

    JAVA编程规范

    - 按照Java约定,`package`声明应放在文件的最顶部。 - 导入包(`import`)按照逻辑顺序排列,如按字母顺序或按模块划分。 ##### 3.4 class/interface的注释 - 使用Javadoc注释来描述类或接口的作用、使用方法等。 -...

    Java极品学习资料

    **String类为什么复写Object类的equals方法** - `equals`方法用于比较字符串的内容是否相等。 - 示例代码展示如何使用`equals`方法比较字符串。 #### 七、IO **字节流复制文件** - 使用字节流读取文件并将其写入新...

Global site tag (gtag.js) - Google Analytics