gpt4 book ai didi

kotlin - 如何通过检查参数的有效性来创建自定义 setter ?

转载 作者:行者123 更新时间:2023-12-02 05:36:15 25 4
gpt4 key购买 nike

我是Kotlin的新手,我无法解决一个极其基本的问题:

我想要一个自定义 setter ,并检查参数值是否有效(否则抛出异常)。

我的代码:

class Test {
var presni: Int = 1
set(value) {
if (value < 0) {
throw IllegalArgumentException("Negative value");
}

presni = value
}
}

但是它在 presni = value行给了我警告:递归属性访问器

Kotlin中用于检查 setter 中参数有效性的惯用法是什么?

最佳答案

您必须使用Kotlin提供的自动backing field
您可以使用field标识符访问它。

class Test {
var presni: Int = 1
set(value) {
if (value < 0) {
throw IllegalArgumentException("Negative value");
}

// Assign the value to the backing field.
field = value
}
}

关于kotlin - 如何通过检查参数的有效性来创建自定义 setter ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46895821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com