退货和内联

我试图find相当于这个Java返回的Kotlin:

return new int[] {1, 2, 3}; 

我试过只是宣布然后像这样返回:

 val returnArr: IntArray = intArrayOf(1, 2, 3) return returnArr 

但是我得到一个警告,说:“variables只用于下面的回报,可以内联”。 内联是什么意思? 有没有办法在一条线上做到这一点?

在警告的情况下,“内联”意味着除去不需要在那里的局部variables,参数,函数等,代码将会更简单。 例如,在声明中

 val returnArr: IntArray = intArrayOf(1, 2, 3) return returnArr 

returnArr没有任何用途(除了可能在调试时),你可以用它替换它

 return intArrayOf(1, 2, 3) 

使用术语“内联”来表示这种简化是JetBrains惯例,我认为是由于“Inline”重构的存在,可以自动化简化,就像我们正在讨论的那样(右键单击returnArr ,选择Refactor / Inline)。

警告不是编译器警告; 这是IntelliJ做的许多风格检查之一。 如果你喜欢你的临时variables,我想你可以通过选择Preferences / Editor / Inspections / Kotlin / Redundant Constructs并取消选中“Unnecessary local variable”来禁用它。