V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
KomiSans
V2EX  ›  问与答

[提问] 请问 Kotlin 中有没有一种写法 使得一个实体类作为其他多个实体类的其中一种

  •  
  •   KomiSans · 2021-12-09 15:23:21 +08:00 · 1241 次点击
    这是一个创建于 1080 天前的主题,其中的信息可能已经有所发展或是发生改变。

    事情起因 lz 在从项目接口中发现其中一个接口返回的是一个二维数组 二维数组中的第二层是由三种类型的 bean 组成的 我记得以前看 Youtube 的时候有个关于做 C#讲解的 Youtuber 是有讲过类似的一种 nuget 包可以实现

    PS:公司内部的 Yapi 是真的没有 SwaggerUI 的好看些

    5 条回复    2021-12-10 03:22:48 +08:00
    Cabana
        1
    Cabana  
       2021-12-09 16:20:16 +08:00
    sealed class?
    a1562619919
        2
    a1562619919  
       2021-12-09 17:13:38 +08:00 via Android
    kt 对泛型的支持比 java 更强大,可以研究下。换工作后快一年没接触 kt 了(ಥ_ಥ)
    fdppzrl
        3
    fdppzrl  
       2021-12-09 17:42:36 +08:00 via Android
    反序列化会有问题吧。用 map 吧
    justnull
        4
    justnull  
       2021-12-09 23:04:07 +08:00 via Android
    kotlin 的 sealed class 。类似的有 rust 中的 enum ,Haskell 中的 sum type ,F#的 discriminated unions 。
    C#没有这个语法,不过似乎有个库叫 OneOf 可以做到类似的效果。
    kotlin 的 sealed class 用 where 表达式可以解构成实际的子类型。
    KomiSans
        5
    KomiSans  
    OP
       2021-12-10 03:22:48 +08:00 via Android
    @justnull 多谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2849 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:49 · PVG 21:49 · LAX 05:49 · JFK 08:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.