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

2020-01-08 10:39:00 +08:00
 Freeego

以下哪种合适:

  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;
      ...
  }
3209 次点击
所在节点    程序员
14 条回复
Akimizu1994
2020-01-08 11:06:55 +08:00
泛型吧,至少别人一看接口定义就知道你返回的是个啥
zhouquan03
2020-01-08 11:13:16 +08:00
范型。接口一定要明确类型,object 不合适。
chenuu
2020-01-08 11:14:22 +08:00
之前没有考虑泛型,实际应用上选的 Object.现在看更倾向于泛型
avk458
2020-01-08 11:14:24 +08:00
1. 泛型的作用是在编译期;
2. 通用返回类还需要泛型感觉多此一举;
3. common
Freeego
2020-01-08 11:17:37 +08:00
@avk458 盲生你发现了华点
opengps
2020-01-08 11:21:23 +08:00
我选第二种
wysnylc
2020-01-08 11:24:26 +08:00
选泛型没法初始化 data,而响应结果需要一个默认的值,所以我选 Object
BBCCBB
2020-01-08 11:25:43 +08:00
泛型. 方法一眼就能看到返回了啥类型.
chendy
2020-01-08 11:49:08 +08:00
两种写法最终效果一样,但是用泛型的话,看方法声明就知道接口返回了啥,提高可读性,有助于后期维护
glaucus
2020-01-08 11:51:58 +08:00
感觉规范上当然是泛型,但是只作为序列化的返回类在我的实际体验下 Object 更方便。。。
br00k
2020-01-08 13:26:25 +08:00
建议泛型,参考 ResponseEntity
cheng6563
2020-01-08 14:34:33 +08:00
泛型,给 swagger 还能自动出类型
lihongjie0209
2020-01-08 14:44:36 +08:00
其实吧, 序列化之后就无所谓了, 除非你要做静态代码分析
Yuicon
2020-01-08 19:07:03 +08:00
泛型,就像口渴了喝水一样自然

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/636043

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX