`

关于Object类的equals方法的特点

 
阅读更多
API原文
    * It is reflexive: for any non-null reference value x, x.equals(x) should return true.
    * It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
    * It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
    * It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
    * For any non-null reference value x, x.equals(null) should return false.
个人翻译
1.自反性:x.equals(x)应该返回true
2.对称性:x.equals(y)为true,那么y.equals(x)也为true
3.传递性:x.equals(y)为true,并且y.equals(z)为true,那么x.quals(z)也应该为true
4.一致性:x.equals(y)的第一次调用为true,那么x.quals(y)的第二次,第三次第n次调用也应该为true,前提条件是比较之前没有修改x也没有修改y.
5,对于非空引用x,x.equals(null)返回false
分享到:
评论

相关推荐

    Object类toString()和equals()方法使用解析

    Object类toString()和equals()方法使用解析 Object类是所有类的父类,因此也被称为根类、祖先。那么,我们就来看一看Object类的最常用的两个方法是如何用的。 toString()方法 toString()方法是 Object 类的一个...

    Java面向对象(进阶)- Object类的详细概述

    - 每个对象,包括数组,都可以调用Object类的方法,因为它们本质上都是对象,具有Object类的特征。 - 如果你尝试创建一个名为Object的自定义类,这是不推荐的,因为它可能会与Java内置的Object类产生冲突。 2. **...

    java-object类

    2. **提供通用方法**:`Object` 类定义了一些非常重要的方法,如 `equals()`、`hashCode()` 和 `toString()`,这些方法在几乎所有 Java 类中都有应用。 3. **支持多态性**:通过继承 `Object` 类,Java 支持多态性,...

    3 Java中关于==和equal的区别 以及equals()方法重写

    在 Java 中,equals() 方法是 Object 类中的一个方法,所有的类都是继承自 java.lang.Object 类的,因此如果没有对该方法进行覆盖的话,调用该方法是没有意义的。只有在对 equals() 方法进行重写的情况下,才能正确...

    day12_Object类、常用API.pdf

    Object类中定义了native修饰的方法,称为本地方法,本地方法的特点是被native修饰的方法,非Java语言编写,是由C++语言编写。本地方法在运行时期进入本地方法栈内存,本地方法栈是一块独立内存的区域。本地方法的...

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

    在Object类中,equals方法的默认实现是使用“==”比较两个对象的内存地址,而不是比较两个对象的内容。因此,在大多数情况下,我们需要重写equals方法,以便比较两个对象的内容是否相等。 重写equals方法需要遵守...

    java教程第8章常用的系统类及内部类.ppt

    Object 类中有两个重要的方法:equals 方法和 toString 方法。equals 方法用于比较两个对象是否相等,而 toString 方法用于返回对象的字符串表示形式。 在 equals 方法中,需要注意的是,它比较的是对象的地址,而...

    Java中的Object类详细介绍

    以下是对Object类的重要方法和特点的详细解释: 1. **toString()**: - 这个方法返回一个表示当前对象的字符串。默认实现会返回类名加上@加上哈希码的十六进制表示。开发者通常会在自定义类中重写这个方法,以便在...

    java 面对对象编程.pdf.zip

    Object 类的常见方法有哪些? == 和 equals() 的区别 hashCode() 有什么用? 为什么要有 hashCode? 为什么重写 equals() 时必须重写 hashCode() 方法? String String、StringBuffer、StringBuilder 的区别? ...

    收集的电子书

    在上述文件内容中,涉及了Java集合框架的多个知识点,包括ArrayList和LinkedList的数据结构特性、Object类的equals方法和hashCode()方法的特点、HashSet的使用原理、Map接口的使用方式、策略模式的概念以及TreeMap的...

    java中Object对象String对象的解析.pdf

    在 Java 中,Object 对象有一个非常重要的方法,即 equals() 方法。该方法用于比较两个对象是否相等。对于基本数据类型,equals() 方法比较的是左右两边的值是否相同;对于引用类型,equals() 方法比较的是引用是否...

    Java基础第二部分课程资料.pdf

    以上内容是根据提供的文档内容整理的知识点,涵盖了Object类的重写方法、日期类的使用、StringBuilder类的特点、包装类与自动装箱/拆箱的机制以及数组复制和类型转换的知识。这些知识点是Java编程基础中的重要部分,...

    java常用类的使用方法.pdf

    Java语言中提供了多种常用类,例如Integer类、Float类、Double类、Character类、String类、StringTokenizer类、StringBuffer类、Random类等,这些类提供了许多实用的方法,以便开发者更方便地进行编程。本文将详细...

    Java语言程序设计抽象类和接口PPT教案学习.pptx

    Object类提供了基本的方法成员,如toString()、equals()、hashCode()等,所有类都继承了这些方法。 Object的方法成员 ----------------- Object类只有少数几个方法成员,它们是: * toString():返回描述对象的...

    object 面试题

    46. 比较两个引用型变量:使用 equals() 方法比较对象的值。 47. 子类是否能够访问父类的私有成员:不可以,除非使用继承和重写。 48. 面向对象的特性封装:隐藏实现细节、暴露公共接口。 49. 接口之间的继承关系:...

    day004 面向对象3-继承、抽象和方法的重写.doc

    Object 类是 Java 中所有类的父类,它提供了几个重要的方法,例如 equals()、hashCode() 和 toString() 等。这些方法可以被子类重写,以满足子类的需求。 五、继承的注意事项 继承时需要注意以下几点: * 构造...

    注意对象的通用方法,类的设计陷阱.pdf

    根据给定文件的信息,我们可以提炼出以下几个相关的IT知识...以上就是关于“注意对象的通用方法,类的设计陷阱”的详细知识点分析。通过深入理解这些概念和技术,可以帮助开发者编写出更加高效、稳定且易于维护的代码。

    常用类.docx

    这意味着,所有类都继承了`Object`类中的属性和方法。 - **构造方法**:`Object`类提供了一个无参数的构造方法。当子类没有明确声明自己的构造方法时,会默认调用父类(即`Object`类)的无参构造方法。 **1.2 必须...

    Java 33道面试题及答案.docx

    equals 默认情况下是引用比较,只是很多类重新了 equals 方法,把它变成了值比较。 例如,String x ="string";String y ="string";String z=new String("string");System.out.println(x==y);//trueSystem.out....

Global site tag (gtag.js) - Google Analytics