请问同一个接口怎么返回不同类型的 List 呢?

2020 年 3 月 6 日
 whereFly
有时候需要返回 List<对象 1>,有时候需要返回 List<对象 2>。
5346 次点击
所在节点    Java
20 条回复
ruatyy
2020 年 3 月 6 日
c# 里面是用泛型。List<T>这种,别的语言应该也有类似的吧。
fueen
2020 年 3 月 6 日
泛型啊...
meteor957
2020 年 3 月 6 日
泛型
Cbdy
2020 年 3 月 6 日
可以这样写方法签名
public List<?> api();
Aresxue
2020 年 3 月 6 日
泛型 List<T>
hronro
2020 年 3 月 6 日
借楼问一下,如果要返回 [1, "2", true, {"hello": "world"}] 这种每个 item 的类型都不一样的 array 该如何做到呢
Jonz
2020 年 3 月 6 日
@hronro 这种需求用 map 合适点?
gaobing
2020 年 3 月 6 日
泛型是在编译时确定的,运行时使用 List<Object>
chenluo0429
2020 年 3 月 6 日
@hronro 一般建议是别这么返回
dilu
2020 年 3 月 6 日
羡慕 java 大佬们,php 节点从来不问这么高级的问题
nnqijiu
2020 年 3 月 6 日
模板
br00k
2020 年 3 月 6 日
不同类型的建议用不同的字段名。这样简单明了。
sadfQED2
2020 年 3 月 6 日
@hronro list< Object>
technode
2020 年 3 月 6 日
用 Object 对象 但是建议忍住不要写这种会被后来者骂娘的代码
avk458
2020 年 3 月 6 日
同一个接口?这本身就不符合单一原则吧
cnzjl
2020 年 3 月 6 日
可能是接收参数有个 type,type 为 1 返回 Student,type 为 2 返回 Class .
xyjincan
2020 年 3 月 6 日
arr json
Fu4ng
2020 年 3 月 6 日
自己定义一个 Result<T>类,然后 Result 类里有一个 List<T> 成员,然后看你要不要再 json 比如{“status”,“Classtype”,Result}
nekoneko
2020 年 3 月 6 日
你可以直接返回类型为 Object
onecode
2020 年 3 月 6 日
C# ActionResult 请求一战

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

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

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

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

© 2021 V2EX