【发布时间】:2019-01-08 10:09:38
【问题描述】:
我遇到了以下用于枚举的 Kotlin 代码:
enum class Section(val position: Int, val textKey: Int, val fragment: Fragment) {
GUIDE(0, R.string.main_pager_guide, QotGuideFragment()),
LEARN(1, R.string.main_pager_learn, QotLearnFragment()),
ME(2, R.string.main_pager_me, QotToBeVisionFragment()),
PREPARE(3, R.string.main_pager_prepare, QotPrepareFragment()),
;
}
但是,当我查看有关枚举的 Kotlin 文档时,我没有看到任何显示这种语法的内容。行:
GUIDE(0, R.string.main_pager_guide, QotGuideFragment())
我不明白这三个参数是如何使用的。此外,枚举类 Section 显示了 3 个似乎没有使用的构造函数参数。
关于枚举的官方文档位于:
【问题讨论】:
-
Section 构造函数有 3 个参数,并且 GUIDE() 调用传递了 3 个匹配类型的参数,这应该会响起。您链接到的文档的第二个示例中使用了相同的语法,它只是一个略微简化的版本
-
那么这算是匿名类吗?
-
不,我不知道你是怎么得出这个结论的
-
这在 Java 中也是可能的。这里有一个例子 - stackoverflow.com/a/8811869/816416
标签: kotlin