idea坑爹的hashcode

多个member的 Java bean,生成的 equals 代码基本没法读。

有个 plugin 用 spring commons 生成代码,spring commons 的 EqualsBuilder 的问题在于……confluence interface。

不知什么时候开始出现了一批迷信confluence interface的人,各种 method call chain,debug的时候设置个断点都没法弄。

尤其是 equals 这种方法,一旦 return false,你经常希望知道具体哪个member not equals,而如果里面是用了 EqualsBuilder …… 见。

还有一个 Equals and HashCode Generate Deluxe 的 plugin,问题也大概差不多,用了一串的 &&,————好的代码要考虑debug时的断点,和exception里清楚明白的行号。

另外如果是可继承的类,这些 generated code 里面那些  if (o.getClass() == xxx) 统统都是错的,——这年头还不读《Effective Java》的都该吊起来烧死。

官方支持 equals 和 hashCode template 自定义以前,IDEA 需要一个更好的 plugin。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,199评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,823评论 18 399
  • 1 有钱任性,没钱认命。 这是一句说滥了的话。 当看到国民老公王思聪花几百万打赏网红时,我们说他有钱任性。 当听到...
    新生的新生活阅读 239评论 0 1
  • 【每日一思】谁总是让你开心?你想对他说什么?把你想对他说的告诉他吧! 丁丁 因为他是是一个很会玩,很会吃的,总能在...
    柚子粒阅读 240评论 0 0
  • “自己想明白最宝贵,哪怕书上早就这么写了”。 思考得是自己做的。 结果得是自己捋出来的。 选择得是自己选的。 习惯...
    孔巧玉阅读 271评论 0 0