Kotlin 操作员分配
Kotlin Operator-Assignment
我注意到 Kotlin 运算符赋值有一些有趣的行为
var selectedIndex = 0
selectedIndex += selectedIndex
调试后,选择的索引仍然等于0
当改为
selectedIndex = selectedIndex + 1
Android Studio 抱怨使用运算符赋值,但它按预期运行。这到底是怎么回事??
科特林版本:1.2.31
谢谢
var selectedIndex = 0
selectedIndex += selectedIndex
这可以重写为:
var selectedIndex = 0
selectedIndex += 0 //as far as selectedIndex is 0
也许您正在考虑增量:
var selectedIndex = 0
selectedIndex++
按预期递增 selectedIndex = 1
后
如果你可能会问什么是运算符赋值抱怨。您可以将光标指向此行并按 Alt+Enter
代码将自动替换为以下内容:
selectedIndex += 1
当你有类似
的东西时,这很有用
selectedIndex = selectedIndex + <some calculations/constant>
等价于:
selectedIndex += <some calculations/constant>
相同作业的更短形式
我注意到 Kotlin 运算符赋值有一些有趣的行为
var selectedIndex = 0
selectedIndex += selectedIndex
调试后,选择的索引仍然等于0
当改为
selectedIndex = selectedIndex + 1
Android Studio 抱怨使用运算符赋值,但它按预期运行。这到底是怎么回事??
科特林版本:1.2.31
谢谢
var selectedIndex = 0
selectedIndex += selectedIndex
这可以重写为:
var selectedIndex = 0
selectedIndex += 0 //as far as selectedIndex is 0
也许您正在考虑增量:
var selectedIndex = 0
selectedIndex++
按预期递增 selectedIndex = 1
后
如果你可能会问什么是运算符赋值抱怨。您可以将光标指向此行并按 Alt+Enter
代码将自动替换为以下内容:
selectedIndex += 1
当你有类似
的东西时,这很有用selectedIndex = selectedIndex + <some calculations/constant>
等价于:
selectedIndex += <some calculations/constant>
相同作业的更短形式