![]() |
1
89
在Kotlin 1.3+中,您可以使用
在以前的版本中,如果将子类嵌套在基类中,则可以使用
如果在基类中嵌套其他类,则需要添加过滤。例如。:
请注意,这将为您提供子类,而不是这些子类的实例(不同于
这使得您可以像调用任何其他函数一样调用以下函数
更新
扩展
|
![]() |
2
8
使用Kotlin 1.3+可以使用反射列出所有密封的子类,而不必使用嵌套类: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/sealed-subclasses.html 我要求提供一些功能来实现同样的效果,而无需思考: https://discuss.kotlinlang.org/t/list-of-sealed-class-objects/10087 |
![]() |
3
5
完整示例:
|
![]() |
4
5
层次结构如下:
另一个选项更复杂,但它可以满足您的需要,因为在同一个包中密封了类。让我告诉你如何以这种方式存档:
|
|
5
2
如果你想在儿童课上使用它,试试这个。
|
![]() |
6
0
对于没有反射的解决方案,这是一个库,支持在编译时生成密封类的类型列表: https://github.com/livefront/sealed-enum
将生成以下对象:
|
![]() |
danny · 如何在kotlin中使用图形2d与paint() 1 年前 |
![]() |
Vetalll · Java、JDBC在重复密钥更新通配符上的插入 1 年前 |
![]() |
jvargas · 如何获取上个月的第一天和最后一天以及一年的第一天 2 年前 |
![]() |
Michel · 在Android上后台播放音频超过一分钟 2 年前 |
![]() |
Ashish Joshi · 未使用导航图弹出片段 2 年前 |