kotlin - Kotlin 数据类中的更新数据
问题描述
我在 Kotlin 中有一个数据类,其中的值相互依赖,
例如
data class test(
var a: Int = 0,
var b: Int = 10 + a,
)
如果a
更新了 for 的值,我希望 for 的值b
自动更改。
我怎样才能做到这一点?
解决方案
您可以创建一个由另一个支持的属性,如下所示:
data class test(
var a: Int = 0,
) {
var b: Int
get() = a + 10
set(value) {
a = value - 10
}
}
或者甚至使它成为test
类的扩展。
请注意b
,构造函数不能设置。它不会自动包含在equals()
,hashCode()
和其他方法中。这实际上是有道理的,因为它实际上只是a
.
推荐阅读
- excel - 仅格式化单元格中的文本片段
- python - 应用空间过滤
- oracle - Oracle xmltype 查询和更新
- react-native - React-Native-SVG “梯度不停歇”
- jquery - 对 ASMX Web 方法的 AJAX 调用不起作用
- c++ - 为什么我使用两种不同的方法读取相同的 char* 缓冲区(稍微)不同的输出?
- google-apps-script - 暂时禁用此应用的 Google 登录:此应用尚未经过 Google 验证才能使用 Google 登录
- coq - coq命令的实现
- python-3.x - 有没有办法在操作系统资源管理器中打开文件夹?
- xpath - XPath 在特定标签的任意嵌套链中选择节点