• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ShawyerPeng
V2EX  ›  程序员

如何快速重写 equals 方法

  •  
  •   ShawyerPeng · Apr 4, 2020 · 3031 views
    This topic created in 2254 days ago, the information mentioned may be changed or developed.

    求助各位大佬,IDE 默认生成的 equals 方法是调用 Objects.equals(),对于 Timestamp/BigDecimal 等的比较会有问题,需要改成 compareTO(),如果是很复杂实体类嵌套实体类,每个数据库映射的实体类有几十个字段,手动写的话工作量太大,是否有工具能根据某一个类指定不同的比较方式?

    image.png

    image.png

    4 replies    2020-04-05 11:29:54 +08:00
    chendy
        1
    chendy  
       Apr 4, 2020
    调整反序列化的方法,让这些字段可以直接 equals,应该更方便一些
    maninfog
        2
    maninfog  
       Apr 4, 2020 via iPhone
    Kotlin data class 真香,可惜楼主是 Java,可以找下有没有相关的插件
    superrichman
        3
    superrichman  
       Apr 4, 2020 via iPhone
    通过反射拿到 class 名称,特殊的 class 特殊处理,其它 class 调用默认的 equals 。这样行不?
    tairan2006
        4
    tairan2006  
       Apr 5, 2020 via Android
    Lombok
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2771 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 10:17 · PVG 18:17 · LAX 03:17 · JFK 06:17
    ♥ Do have faith in what you're doing.