kotlin 构造函数中初始化的属性的设置器?

xoshrz7s  于 2023-03-09  发布在  Kotlin
关注(0)|答案(1)|浏览(140)

希望我的措辞是正确的。尝试能够为在构造函数ala中初始化的变量执行setter函数:

package com.example.propory

class Property(val name: String, propValue: String) {

    var previousPropertyValue: List<String> = listOf("testing")

    var propValue: String = ""
        set(value){
            previousPropertyValue += this.propValue
            field = value
        }
}

当我创建它的一个示例时,我可以很好地访问“name”:

// trunicated
 val currentProperty = Properties.find { prop -> property.name == prop.name}

但是,如果我尝试访问“propValue”:

currentProperty.propValue = property.propValue

我没有得到任何值:(.
所以我想知道我做错了什么,以及如何修复它。谢谢你们所有人的帮助!:)

jum4pzuy

jum4pzuy1#

您将完全不使用传递给构造函数的propValue参数,并使用空String初始化属性。使用传递给构造函数的参数初始化属性:

var propValue: String = propValue
    set(value){
        previousPropertyValue += this.propValue
        field = value
    }

相关问题