KomiSans
V2EX  ›  问与答

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

  •  
  •   KomiSans · Dec 9, 2021 · 2022 views
    This topic created in 1643 days ago, the information mentioned may be changed or developed.

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

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

    5 replies    2021-12-10 03:22:48 +08:00
    Cabana
        1
    Cabana  
       Dec 9, 2021
    sealed class?
    a1562619919
        2
    a1562619919  
       Dec 9, 2021 via Android
    kt 对泛型的支持比 java 更强大,可以研究下。换工作后快一年没接触 kt 了(ಥ_ಥ)
    fdppzrl
        3
    fdppzrl  
       Dec 9, 2021 via Android
    反序列化会有问题吧。用 map 吧
    justnull
        4
    justnull  
       Dec 9, 2021 via Android
    kotlin 的 sealed class 。类似的有 rust 中的 enum ,Haskell 中的 sum type ,F#的 discriminated unions 。
    C#没有这个语法,不过似乎有个库叫 OneOf 可以做到类似的效果。
    kotlin 的 sealed class 用 where 表达式可以解构成实际的子类型。
    KomiSans
        5
    KomiSans  
    OP
       Dec 10, 2021 via Android
    @justnull 多谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5737 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 06:17 · PVG 14:17 · LAX 23:17 · JFK 02:17
    ♥ Do have faith in what you're doing.