作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
考虑以下类:
sealed class Fruit(val id: String, val label: String) {
object orange : Fruit("Citrus sinensis", "orange")
object watermelon : Fruit("Citrullus lanatus", "watermelon")
companion object {
val values = listOf(orange, watermelon)
val valuesByID = values.associateBy { it.id } // <<< error here
}
}
这个类可以正常编译,但是在运行时引用它时(例如:val oj = Fruit.orange
)会抛出错误。
java.lang.ExceptionInInitializerError
at com.example.sandbox.App.<clinit>(App.kt:13)
at java.lang.reflect.Constructor.newInstance(Native Method)
at java.lang.Class.newInstance(Class.java:1606)
但是,如果删除了 valuesByID
行,则不会抛出错误。为什么会这样?
如果重要的话,运行时环境是 Android。
最佳答案
这是一个已知问题 https://youtrack.jetbrains.com/issue/KT-25738 2018 年 7 月报道。
一般问题是在其同伴中使用作为密封类子类的对象
关于kotlin - 在伴随对象中初始化映射会抛出 ExceptionInInitializerError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65068266/
我有两个伴随的仿函数,即它们成对出现如果一个是 doX() ,另一个将是 undoX()。 它们是这样声明的: template struct doSomething{
我想看看是否有任何工具或引擎可以将 Ecore(元)模型转换为合金规范? 如果它在考虑伴随的 OCL 表达式的情况下进行这种翻译,那就太好了 :) 谢谢 最佳答案 关于在 Alloy 和 UML 之间
所以我正在按照 ASP.NET 和 MVC 5 一书中的示例进行操作。这是导致错误的 View : @model SportsStore.WebUI.Models.ProductsListViewMo
我是一名优秀的程序员,十分优秀!