zoukankan      html  css  js  c++  java
  • 【原创】关于java对象需要重写equals方法,hashcode方法,toString方法 ,compareto()方法的说明

    在项目开发中,我们都有这样的经历,就是在新增表时,会相应的增加java类,在java类中都存在常见的几个方法,包括:equals(),hashcode(),toString() ,compareto()这四个方法,对于刚刚接触java的初学者来说,对于这块可以没有更深入的了解,只是单纯意义上的复制粘贴,并没有很好的去了解。现在借用这个时间给大家说说这几个方法作用。
     
    equals:
    比较两个对象相等时使用(需要配合Hashcode一起使用,在后边再进行详细解释)
     
    hashcode:
    重写hashcode方法的主要目的就是让Hashtable/HashSet/HashMap等集合正常工作,也就是说他们都是基于hashcode进行地址判断的,如果重写equals而不重写hashcode,对于HashMap来说存入2个相同的对象保存一个key,却对应2个值,而取的时候是无法取出值,其它的集合类也是类似,为了不至于混乱出错,所以以上集合类重写equals时候必须重写hashcode方法。是不是其它的类也是的呢?我认为不完全是,因为普通类重新hashcode意义不大,不写也不会出现编译错误。
     
    toString:
    因为所有类都是继承自Object,Object类具有一个toString()方法,你创建的每个类都会继承该方法。它返回对象的一个String表示,并且对于调试非常有帮助。然而对于默认的toString()方法往往不能满足需求,需要覆盖这个方法。最终就是为了我们显示的时候方便。
     
    Compareto:
    很显然,是为了比较两个对象使用,JAVA中的比较器接口Comparable用于数组对象的排序,要使用此功能,必须让类继承自Comparable接口,重写compareTo。
  • 相关阅读:
    动手动脑,11.9
    《构建之法》读书笔记
    字符加密
    字符动手动脑
    河北重大技术需求开发第七版开发第五天
    河北重大技术需求开发第七版开发第四天
    河北重大技术需求开发第七版开发第三天
    河北重大技术需求开发第七版开发第二天
    hbase基本操作体会
    河北重大技术需求开发第七版开发第一天
  • 原文地址:https://www.cnblogs.com/wzhanke/p/4817804.html
Copyright © 2011-2022 走看看