FastUtil 包含避免自动装箱开销的优化集合实现。为了通知程序员意外的自动装箱,例如在使用时IntList
,他们将该方法标记Integer get(int)
为已弃用,建议int getInt(int)
改用。当对此类列表使用数组索引语法时,这会导致弃用警告:
import it.unimi.dsi.fastutil.ints.IntArrayList
private fun test() {
val list = IntArrayList(listOf(1, 2, 3))
println(list[0]) // deprecation warning on this line
}
我尝试重新定义get
为操作员函数,但这似乎不起作用,因为“扩展被成员隐藏”。
operator fun IntArrayList.get(i: Int): Int {
return this.getInt(i)
}
有没有其他方法可以使用数组索引语法而没有弃用警告并且不抑制所有其他弃用?