美文网首页
极客时间第9天

极客时间第9天

作者: 随手点灯 | 来源:发表于2020-04-07 14:51 被阅读0次

今天学习了java业务开发常见错误100例的判等问题

  1. 首先是基本数据类型只能用==,包装类型建议用equals,对于String类型,显式的赋值会相等,但是new String用==就是false.
    对于Integer,目前[-128,127]是缓存对象,Integer i = 1,实际上是调用了Integer.valueOf(),如果是new Integer()就不是一样的值

  2. ,默认的equals是判断引用是否相等,手动重写equals方法需要注意的事情:

    1. 如果这个对象引用相等,直接返回true
    2. 如果这个对象是空,直接返回false
    3. 如果这个对象的类型不一致,返回false
    4. 判断这个对象的属性规则是否一致
  3. 如果重写了equals,应当也要重写hashCode.因为map集合里面使用的hashCode方法,每个对象都有唯一的hashCode,要与equals逻辑保持一致.

  4. 如果重写了equals方法,最好也重写下compareTo方法与equals保持一致.

    1. Collection.searchBinary()就调用了compareTo方法
  5. loombook里面@Data已经帮你实现了equals方法,如果不需要某些字段参与比较可以在字段上面加入@EqualsAndHashCode.Exclud的注解进行排除

  6. 使用阿里巴巴的规约IDEA插件,可以提示你可能出错的代码

相关文章

  • 极客时间-技术编程类课程产品分析报告

    【极客时间】 极客时间是极客邦科技出品的IT类知识服务产品,内容包含专栏订阅、极客新闻、热点专题、直播、视频和音频...

  • 极客时间

    《极客时间》程序员时间管理的笔记 JIT的理解 编译和解释的区别。 jdk8函数式编程 23种设计模式,是道与术的...

  • 极客时间

    微信搜索公众号:矿洞程序员。回复:极客时间

  • 极客时间

    我的已购专栏。 左耳听风 黄勇的OKR实战笔记 Kafka核心技术与实战 OpenResty从入门到实战 Java...

  • 极客时间第16天

    今天学习的是异常处理的正确方式. 从中我学到了什么: 不要用统一的方式去捕获异常,因为异常分为系统异常和业务异常,...

  • 极客时间第15天

    如何高效的学习呢?首先学习是一件逆人性的事情.并不是一件很轻松的事情,要端正好学习的态度,有一个心理准备. 学习分...

  • 极客时间第4天

    今天学习的是mysql的45讲,加深了我对mysql的认知.里面有很多核心概念,我总结一下 mysql的主要组件 ...

  • 极客时间第12天

    今天主要是看了空指针异常.空指针异常在程序中一般有下面几种情况: 自动拆箱装箱的时候 字符串比较 获取一个对象,对...

  • 极客时间第10天

    今天还是看了左耳朵听风的关于时间管理的文章 他运用了结构化思维的方式来设计文章结构,如何管理自己的时间. 首先是要...

  • 极客时间第14天

    今天主要是学习了持续继承软件Jenkins的安装和使用. 安装我采用的是Docker容器进行安装,包含有blueO...

网友评论

      本文标题:极客时间第9天

      本文链接:https://www.haomeiwen.com/subject/yjhnphtx.html