private val isEmpty: String
get() = this.toString() //making this thing public rises an error: Getter visibility must be the same as property visibility.
getter和setter是在Kotlin中自动生成的。如果你写:
val isEmpty: Boolean
它等于以下Java代码:
private final Boolean isEmpty;
public Boolean isEmpty() {
return isEmpty;
}
在您的例子中,private access修饰符是冗余的-isEmpty默认情况下是私有的,只能由getter访问。当您试图获取对象的isEmpty属性时,您将调用real中的get方法。为了更好地理解Kotlin中的getters/setters,下面的两个代码示例是相等的:
var someProperty: String = "defaultValue"
var someProperty: String = "defaultValue"
get() = field
set(value) { field = value }
val isEmpty: Boolean
get() = field
var isEmpty: Boolean
private set
如何在使用Kotlin的Spring Boot中正确初始化ConfigurationProperties? 目前我喜欢下面的例子: 但是它看起来很丑陋,实际上不是一个iable,foo是常量ue,应该在启动期间初始化,将来不会改变。
问题内容: 我正在学习具有C ++和Java背景的Kotlin。我期待下面的打印,不。我知道这对应到。默认实现不比较每个成员,即和吗?如果是这样,它会不会看到字符串值相等(因为再次映射到字符串值)?显然,我在Kotlin中还没有涉及平等与身份相关的问题。 问题答案: 您描述的默认实现仅适用于数据类。不适用于从中继承实现的常规类,只需使对象与自身相等即可。
这是正确的吗? 我可以找到一个相关的问题,但它是有参数的,我不能在没有params的情况下转换它。
我正在尝试IntDef typedef将特定类型的参数限制为函数。但是当我使用Java使用IntDef时,它工作正常,但同时,它不适用于kotlin。以下是我的代码片段 - 在JAVA中- 在静态编程语言中- 在课堂上使用- 调用演示函数给我一个错误消息,说它必须是:< code>TransTypeJava之一。CASH,< code>TransTypeJava。通过传递< code>TransT
我有静态编程语言界面 我如何从爪哇调用它?什么