小编lym*_*oge的帖子

kotlin中的java static final:Const'val'初始化器应该是一个常量值

在Java中,我们可以这样做:

public class TestA {
    public static final boolean flag = true;
    public static final String str = flag ? "A" : "B"; // ok
}
Run Code Online (Sandbox Code Playgroud)

但不能在科特林

 class TestA {
    companion object {
        const val flag = true
        const val str = if (flag) "A" else "B" //err: Const 'val' initializer should be a constant value

        val str2 = if (flag) "A" else "B" //ok, but not equals [public static final] in Java.
    }
}
Run Code Online (Sandbox Code Playgroud)

在非const str2上试过@JvmStatic,但反编译成java代码,就是这样 …

const kotlin

7
推荐指数
1
解决办法
4945
查看次数

标签 统计

const ×1

kotlin ×1