【发布时间】:2020-03-31 08:55:35
【问题描述】:
我声明了一个这样的变量:
var G: Array<MutableList<Int>> = Array(0) { ArrayList() }
Kotlin 给我以下错误:
Kotlin: Type inference failed: Not enough information to infer parameter E in fun <E> <init>(): kotlin.collections.ArrayList<E> /* = java.util.ArrayList<E> */
Please specify it explicitly.
这意味着 Kotlin 无法推断应为 Int 的 ArrayList 的类型。所以我为 ArrayList 添加了Int,如下所示:
var G: Array<MutableList<Int>> = Array(0) { ArrayList<Int>() }
Kotlin 说 - 删除显式类型参数
在这种情况下,Kotlin 对如何行动感到矛盾。
那么是否可以在不显式声明ArrayList类型的情况下编写代码?
【问题讨论】: