首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OPPO Watch
whereFly
V2EX  ›  Java

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

  •  
  •   whereFly · 81 天前 · 2132 次点击
    这是一个创建于 81 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有时候需要返回 List<对象 1>,有时候需要返回 List<对象 2>。
    20 条回复    2020-03-06 17:27:36 +08:00
    ruatyy
        1
    ruatyy   81 天前
    c# 里面是用泛型。List<T>这种,别的语言应该也有类似的吧。
    fueen
        2
    fueen   81 天前
    泛型啊...
    meteor957
        3
    meteor957   81 天前
    泛型
    Cbdy
        4
    Cbdy   81 天前
    可以这样写方法签名
    public List<?> api();
    Aresxue
        5
    Aresxue   81 天前
    泛型 List<T>
    hronro
        6
    hronro   81 天前
    借楼问一下,如果要返回 [1, "2", true, {"hello": "world"}] 这种每个 item 的类型都不一样的 array 该如何做到呢
    Jonz
        7
    Jonz   81 天前
    @hronro 这种需求用 map 合适点?
    gaobing
        8
    gaobing   81 天前
    泛型是在编译时确定的,运行时使用 List<Object>
    chenluo0429
        9
    chenluo0429   81 天前
    @hronro 一般建议是别这么返回
    dilu
        10
    dilu   81 天前
    羡慕 java 大佬们,php 节点从来不问这么高级的问题
    nnqijiu
        11
    nnqijiu   81 天前
    模板
    br00k
        12
    br00k   81 天前 via iPhone
    不同类型的建议用不同的字段名。这样简单明了。
    sadfQED2
        13
    sadfQED2   81 天前 via Android
    @hronro list< Object>
    technode
        14
    technode   81 天前
    用 Object 对象 但是建议忍住不要写这种会被后来者骂娘的代码
    avk458
        15
    avk458   81 天前
    同一个接口?这本身就不符合单一原则吧
    cnzjl
        16
    cnzjl   81 天前
    可能是接收参数有个 type,type 为 1 返回 Student,type 为 2 返回 Class .
    xyjincan
        17
    xyjincan   81 天前
    arr json
    Fu4ng
        18
    Fu4ng   81 天前
    自己定义一个 Result<T>类,然后 Result 类里有一个 List<T> 成员,然后看你要不要再 json 比如{“status”,“Classtype”,Result}
    nekoneko
        19
    nekoneko   81 天前
    你可以直接返回类型为 Object
    onecode
        20
    onecode   81 天前
    C# ActionResult 请求一战
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1103 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:06 · PVG 05:06 · LAX 14:06 · JFK 17:06
    ♥ Do have faith in what you're doing.