Kotlin指数运算符[0] vs get(0)

Fre*_*ose -2 intellij-idea kotlin

当我的代码看起来像

myList.get(0)
Run Code Online (Sandbox Code Playgroud)

Intellij建议我用它替换它

myList.get()[0]
Run Code Online (Sandbox Code Playgroud)

有什么好处?

在此输入图像描述

更新 ...对不起要求太快的代码实际上

myList.get().get(0)
Run Code Online (Sandbox Code Playgroud)

myList持有一个可选项,现在它们都有了意义

s1m*_*nw1 10

此时应更换myList.get(0)使用myList[0].它被编译为get你使用的那个电话,但看起来更像kotlinish.这是可能的,因为它get被定义为一个operator,可以按照惯例用索引运算符替换.

  • 好吧,奇怪的是,[它不_完全相同](/sf/ask/3330566711/#47579973)(至少对于数组) . (2认同)