`
minghaitang
  • 浏览: 126655 次
社区版块
存档分类
最新评论

equals方法的注意点

阅读更多

1、:如果你要是自己重写(正确说应该是履盖)了equals方法,那同时就一定要重写hashCode(),规范要求,如果两个对象进行equals比较时如果返回true,那么它们的hashcode要求返回相等的值。

 

2、重写equals时

if (!(obj instanceof XXXXClass))        
   return false;  

    慎重使用(obj为比较对象)

 

 

    推荐:

if(obj.getClass() != this.getClass()) 
   return false;   

 

分享到:
评论

相关推荐

    java中hashCode方法与equals方法的用法总结

    总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复

    ==和equals() 的比较

    ==和 equals ()都是用于相等型判断的操作符 == 操作符用来判断两个引用是否指的同一个对象,或两个简单类型的值是否相等 即: [ == 比较值类型数据,比较的是值, 而引用类型...注意:当此方法被重写时,通常有必要重写ha

    Java中判断对象是否相等的equals()方法使用教程

    与==运算符响应,equals()方法也是Java中对对象进行比较的一大方式,要特别注意二者的不同点,这个我们在下文中即将讲到,接下来我们就来看一下Java中判断对象是否相等的equals()方法使用教程

    aequum:Aequum 库旨在通过使用 Java 8 lambdas 在 POJO 类上编写 equals、hashCode 和 compareTo 方法时帮助删除一些样板

    ###Responsibilities### Aequum 库旨在通过使用在 POJO 类上编写equals 、 hashCode和compareTo方法时帮助删除一些样板。 请注意,此库依赖于 Java 8。 ###组件初始化指令###要使用此库,调用builder的方法Aequum...

    java核心知识点整理

    注意:常量定义于main方法的外边,而且必须有关键字 static final; 6.字符串的子串: String str = hello”“; String str1 = str.substring(0,4); //输出hell 7.不要用==运算符来测试两个字符串是否相等,该...

    set容器无重复注意问题.png

    凡是以hashcode为存储位置计算的容器都需要重写hashcoe方法,为什么重写类的hashcode和equals方法?如果不重写会有后果?以及set容器的元素储存方式

    C#中的虚方法和抽象方法的运用

    常见的虚方法:ToString() Equals 抽象方法: 抽象类与抽象方法由abstract修饰 abstract的使用注意 –抽象方法没有方法体 –抽象成员只能存在于抽象类中 –抽象类可以有非抽象成员 –抽象类的派生类必须实现抽象...

    java,Comparable接口实例

    推荐如此阐述:“注意:此类具有与 equals 不一致的自然排序。” 参数: o - 要比较的对象。 返回: 负整数、零或正整数,根据此对象是小于、等于还是大于指定对象。 抛出: ClassCastException - 如果指定...

    jdk 的集合框架的主体结构

    jdk 的集合框架的主体结构: Set 成员不能重复 HashSet 外部无序地遍历成员。 成员可为任意Object子类的对象,但如果覆盖了equals方法,同时注意修改hashCode方法。

    HashSet,TreeSet和LinkedHashSet的区别1

    简单的说,HashSet集合判断两个元素相等的标准是两个对象通过equals方法比较相等,并且两个对象的hashCode()方法返回值相 等注意,如果要把一个对

    JAVA核心知识点整理.rar

    注意:常量定义于main方法的外边,而且必须有关键字 static final; 6.字符串的子串: String str = hello”“; String str1 = str.substring(0,4); //输出hell 7.不要用==运算符来测试两个字符串是否相等,该...

    Java的六大问题你都懂了吗

    同样也可以看出,Object的equals方法没有达到equals方法应该达到的目标:比较两个对象内容是否相等。因为答案应该由类的创建者决定,所以Object把这个任务留给了类的创建者。所以当你是用equals方法判断对象的内容...

    Java复习题及答案

    2、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( )。 A、 public static void main() B、 public static void main(String[ ] args) C、 public static int main(String[ ...

    银行账户管理系统 简称BAM(项目介绍及源码)绝对精典

    为Account类及其子类添加toString方法和equals方法 项目四 练习7:(Exception) 为BAM添加几个异常类 BalanceNotEnoughException :用于取钱的时候余额不足的情况(包括账户余额超过透支额的情况) RegisterException:...

    涵盖了90%以上的面试题

    "=="和equals方法究竟有什么区别 String,StringBuffer,StringBuilder有什么区别 java中的数组是不是对象 数组初始化的方式有哪几种 length属性和length()方法有什么区别 finally块中的代码什么时候被执行 Java中的...

    spring2.5.6源码

    本文以spring框架的XmlBeanFactory为入手点进行分析,希望能够以尽量简洁明了的方式给予有需要的朋友一定的帮助。 首先来打开该类的代码,我们将看到如下代码: Java代码 public class XmlBeanFactory extends ...

    java操作符

    表达式中有一个操作元是long型,则结果是long型的问题总结; 应该调用String的equals()方法,而不用“==”操作符的注意; java虚拟机对变量初始化为默认值。

    net学习笔记及其他代码应用

    33.写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。 答:解1: select top 10 * from A where id not in (select top 30 id from A) 解2: select top 10 * ...

    java初学者必看

    8.4.2 定义equals方法 8.5 关于设计好继承的几点建议 8.6 实例:一卡通类的继承 8.6.1 构造方法 8.6.2 setter方法 8.6.3 getter方法 8.6.4 方法覆盖 8.6.5 equals方法 8.6.6 其他需要强调的地方 8.7 本章...

Global site tag (gtag.js) - Google Analytics