在 Kotlin 中构建期间如何修改 val 成员
How can I modify val members during construction in Kotlin
在 Java 中,我可以在构造函数中修改 final
成员。请看下面的例子
class Scratch {
private final String strMember;
public Scratch(String strParam) {
this.strMember = strParam.trim();
}
}
Kotlin 有没有办法在构造期间修改 val
成员,在这种情况下,在将参数值分配给字段之前修改 trim()
它们。
如果不是,建议的解决方法是什么而不产生太多开销?
像这样:构造函数参数在属性初始化时可用。
class Scratch(strParam:String) {
private val strMember = strParam.trim()
}
您可以为未标记 val
或 var
的构造函数声明一个参数。这对构造函数具有局部作用,一旦 class 构造完成就会丢失。采用该参数并将其设置为您想要的任何值。
class Scratch(str: String) {
private val strMember = str.trim()
}
试试你的strParam final property
如下
class Scratch(strParam : String) {
val strParam : String = strParam
get() = field.trim()
}
因此,您可以在 Scratch class
内外使用它们
在 Java 中,我可以在构造函数中修改 final
成员。请看下面的例子
class Scratch {
private final String strMember;
public Scratch(String strParam) {
this.strMember = strParam.trim();
}
}
Kotlin 有没有办法在构造期间修改 val
成员,在这种情况下,在将参数值分配给字段之前修改 trim()
它们。
如果不是,建议的解决方法是什么而不产生太多开销?
像这样:构造函数参数在属性初始化时可用。
class Scratch(strParam:String) {
private val strMember = strParam.trim()
}
您可以为未标记 val
或 var
的构造函数声明一个参数。这对构造函数具有局部作用,一旦 class 构造完成就会丢失。采用该参数并将其设置为您想要的任何值。
class Scratch(str: String) {
private val strMember = str.trim()
}
试试你的strParam final property
如下
class Scratch(strParam : String) {
val strParam : String = strParam
get() = field.trim()
}
因此,您可以在 Scratch class