gpt4 book ai didi

kotlin - 将参数传递给 kotlin 中的自定义 getter

转载 作者:行者123 更新时间:2023-12-02 11:46:39 25 4
gpt4 key购买 nike

我一直在阅读 properties在 Kotlin 中,包括自定义 getter 和 setter。

但是,我想知道是否可以创建带有额外参数的自定义 getter。

例如,考虑 Java 中的以下方法:

public String getDisplayedValue(Context context) {
if (PrefUtils.useImperialUnits(context)) {
// return stuff
} else {
// return other stuff
}
}

注意 PrefUtils中的静态方法必须有 Context作为参数,因此删除它不是一种选择。

我想在 Kotlin 中这样写:
val displayedValue: String
get(context: Context) {
return if (PrefUtils.useImperialUnits(context)) {
// stuff
} else {
// other stuff
}
}

但是我的 IDE 以红色突出显示了所有这些。

我知道我可以在我的类中创建一个函数来获取显示的值,但这意味着我必须使用 .getDisplayedValue(Context)在 Kotlin 中也是如此,而不是像 .displayedValue 那样能够通过名称来引用属性。 .

有没有办法创建这样的自定义 setter/getter ?

编辑:如果没有,最好为此编写一个函数,还是通过 Context进入类构造函数的参数?

最佳答案

据我所知,属性 getter 不能有参数。而是写一个函数。

关于kotlin - 将参数传递给 kotlin 中的自定义 getter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38684318/

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