V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Freeego
V2EX  ›  程序员

Java 后端返回的 data 类型应该用泛型还是 Object?

  •  
  •   Freeego · 2020-01-08 10:39:00 +08:00 · 3395 次点击
    这是一个创建于 1783 天前的主题,其中的信息可能已经有所发展或是发生改变。

    以下哪种合适:

      public class CommenResult<T> {
          private int code;
          private String message;
          private T data;
          ...
      }
    

    还是

      public class CommenResult {
          private int code;
          private String message;
          private Object data;
          ...
      }
    
    14 条回复    2020-01-08 19:07:03 +08:00
    Akimizu1994
        1
    Akimizu1994  
       2020-01-08 11:06:55 +08:00
    泛型吧,至少别人一看接口定义就知道你返回的是个啥
    zhouquan03
        2
    zhouquan03  
       2020-01-08 11:13:16 +08:00
    范型。接口一定要明确类型,object 不合适。
    chenuu
        3
    chenuu  
       2020-01-08 11:14:22 +08:00
    之前没有考虑泛型,实际应用上选的 Object.现在看更倾向于泛型
    avk458
        4
    avk458  
       2020-01-08 11:14:24 +08:00
    1. 泛型的作用是在编译期;
    2. 通用返回类还需要泛型感觉多此一举;
    3. common
    Freeego
        5
    Freeego  
    OP
       2020-01-08 11:17:37 +08:00
    @avk458 盲生你发现了华点
    opengps
        6
    opengps  
       2020-01-08 11:21:23 +08:00
    我选第二种
    wysnylc
        7
    wysnylc  
       2020-01-08 11:24:26 +08:00
    选泛型没法初始化 data,而响应结果需要一个默认的值,所以我选 Object
    BBCCBB
        8
    BBCCBB  
       2020-01-08 11:25:43 +08:00
    泛型. 方法一眼就能看到返回了啥类型.
    chendy
        9
    chendy  
       2020-01-08 11:49:08 +08:00
    两种写法最终效果一样,但是用泛型的话,看方法声明就知道接口返回了啥,提高可读性,有助于后期维护
    glaucus
        10
    glaucus  
       2020-01-08 11:51:58 +08:00
    感觉规范上当然是泛型,但是只作为序列化的返回类在我的实际体验下 Object 更方便。。。
    br00k
        11
    br00k  
       2020-01-08 13:26:25 +08:00 via iPhone
    建议泛型,参考 ResponseEntity
    cheng6563
        12
    cheng6563  
       2020-01-08 14:34:33 +08:00 via Android
    泛型,给 swagger 还能自动出类型
    lihongjie0209
        13
    lihongjie0209  
       2020-01-08 14:44:36 +08:00
    其实吧, 序列化之后就无所谓了, 除非你要做静态代码分析
    Yuicon
        14
    Yuicon  
       2020-01-08 19:07:03 +08:00
    泛型,就像口渴了喝水一样自然
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3015 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 14:43 · PVG 22:43 · LAX 06:43 · JFK 09:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.