[英]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()
它們。
如果沒有,建議的解決方法是什么,而不會產生太多的開銷?
您可以聲明未用val
或var
標記的構造函數的參數。 這具有構造函數的局部效果,並且在類構造完成后丟失。 拿出那個參數並將其設置為你想要的任何東西。
class Scratch(str: String) {
private val strMember = str.trim()
}
像這樣:構造函數參數在屬性初始化期間可用。
class Scratch(strParam:String) {
private val strMember = strParam.trim()
}
試試你的strParam final property
如下
class Scratch(strParam : String) {
val strParam : String = strParam
get() = field.trim()
}
因此,您可以在Scratch class
內部和外部使用它們
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.