我试图找到与此Java返回相当的Kotlin:
return new int[] {1, 2, 3};
Run Code Online (Sandbox Code Playgroud)
我试过只是声明然后像这样返回:
val returnArr: IntArray = intArrayOf(1, 2, 3)
return returnArr
Run Code Online (Sandbox Code Playgroud)
但是我收到一条警告,上面写着"变量仅用于跟随返回并且可以内联".内联究竟是什么意思?有没有办法在一条线上完成所有这些?
在警告的上下文中,"内联"意味着删除实际上不需要存在的局部变量,参数,函数等,并且没有它们的代码将更简单.例如,在声明中
val returnArr: IntArray = intArrayOf(1, 2, 3)
return returnArr
Run Code Online (Sandbox Code Playgroud)
returnArr 没有用处(调试时除外),你可以用它替换它
return intArrayOf(1, 2, 3)
Run Code Online (Sandbox Code Playgroud)
我认为,使用术语"内联"来指代这种简化是一种JetBrains约定,因为存在"内联"重构,可以自动简化,就像我们正在讨论的那样(右键单击returnArr并选择重构/内联).
警告不是编译器警告; 这是IntelliJ所做的众多风格检查之一.如果您喜欢临时变量,我认为您可以通过转到Preferences/Editor/Inspections/Kotlin/Redundant Constructs并取消选中"Unacessary local variable"来禁用它.
| 归档时间: |
|
| 查看次数: |
108 次 |
| 最近记录: |