Kotlin 中的 Java 静态最终字段等效项是什么?

2022-08-31 07:12:03

在Java中,要声明一个常量,您需要执行以下操作:

class Hello {
    public static final int MAX_LEN = 20;
}

Kotlin 中的等效项是什么?


答案 1

根据 Kotlin 文档,这是等效的:

class Hello {
    companion object {
        const val MAX_LEN = 20
    }
}

用法:

fun main(srgs: Array<String>) {
    println(Hello.MAX_LEN)
}

这也是静态的最终属性(带有 getter 的字段):

class Hello {
    companion object {
        @JvmStatic val MAX_LEN = 20
    }
}

最后,这是静态的最终字段:

class Hello {
    companion object {
        @JvmField val MAX_LEN = 20
    }
}

答案 2

如果在 中有实现,请在类中使用Hellocompanion object

class Hello {
  companion object {
    val MAX_LEN = 1 + 1
  }

}

if 是纯单例对象Hello

object Hello {
  val MAX_LEN = 1 + 1
}

如果属性是编译时常量,请添加 const 关键字

object Hello {
  const val MAX_LEN = 20
}

如果你想在Java中使用它,添加@JvmStatic注释

object Hello {
  @JvmStatic val MAX_LEN = 20
}

推荐