提问人:MrFlavour 提问时间:11/1/2023 最后编辑:StorytellerrMrFlavour 更新时间:11/2/2023 访问量:43
如果我在向枚举类添加参数/属性时省略“val”关键字,这似乎对枚举条目没有任何影响,这是否重要
Does it matter if I omit the 'val' keyword when adding a parameter/property to an enum class, doesn't seem to make any difference to the enum entries
问:
创建枚举类时,我不确定向参数添加 val 和不添加 val 有什么区别。当为每个枚举条目提供所述参数的参数时,似乎没有区别。希望有人能解释。
这是没有“val”的
这是用'val
谢谢。
我试过到处寻找,唯一的区别似乎是一个参数,一个是属性,但我并不真正理解其中的区别。我对 kotlin/android studio 还是相当陌生的。
答:
1赞
Mohsen
11/1/2023
#1
如果你不添加,你以后就无法访问它,它不会是类的属性,它只是你传递给构造函数的一个参数,它在枚举中毫无意义val
enum class ScreenSize(width: Int, height: Int) { // not declared as val
Big(1000, 1600),
Medium(700, 1000),
Small(500, 700)
}
fun drawScreen(screenSize: ScreenSize) {
//Compile error
drawRect(
width = screenSize.width,
height = screenSize.height,
)
}
fun drawRect(width: Int, height: Int) {
.....
}
评论
0赞
MrFlavour
11/2/2023
啊,好吧,这是有道理的,非常感谢您澄清这一点。
0赞
Mohsen
11/3/2023
不客气,如果答案对您有意义,请将其标记为已接受的答案将不胜感激
评论