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

2021-12-09 15:23:21 +08:00
 KomiSans

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

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

1241 次点击
所在节点    问与答
5 条回复
Cabana
2021-12-09 16:20:16 +08:00
sealed class?
a1562619919
2021-12-09 17:13:38 +08:00
kt 对泛型的支持比 java 更强大,可以研究下。换工作后快一年没接触 kt 了(ಥ_ಥ)
fdppzrl
2021-12-09 17:42:36 +08:00
反序列化会有问题吧。用 map 吧
justnull
2021-12-09 23:04:07 +08:00
kotlin 的 sealed class 。类似的有 rust 中的 enum ,Haskell 中的 sum type ,F#的 discriminated unions 。
C#没有这个语法,不过似乎有个库叫 OneOf 可以做到类似的效果。
kotlin 的 sealed class 用 where 表达式可以解构成实际的子类型。
KomiSans
2021-12-10 03:22:48 +08:00
@justnull 多谢

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

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

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

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

© 2021 V2EX