Java "error: incompatible types: inference variable E has incompatible bounds" error
Java "error: incompatible types: inference variable E has incompatible bounds" error
所以我正在 java 尝试一些东西。 (锻造我的世界 mod)。当我编译时,我不断收到此错误:
error: incompatible types: inference variable E has incompatible bounds
return Lists.newArrayList((Object[])new String[] { "clickset" });
^
equality constraints: String
lower bounds: Object
where E is a type-variable:
E extends Object declared in method <E>newArrayList(E...)
密码是:
public List<String> getCommandAliases() {
return Lists.newArrayList((Object[])new String[] { "clickset" });
}
那条线很明显被破坏了:它调用了 Lists.newArrayList
,这大概是 guava 的 Lists
实用程序 class(是否有 import com.google.common.collect.*
或 .Lists
在顶部?那么,是的)。即使不是,这个名字也表明了意图。
您将此方法交给 Object[]
(因为转换)。显然,这意味着它将 return 一个 List<Object>
。但是,您的方法必须 return a List<String>
。因此,它不会出错。
此代码现在无效,以后也不会。
如果您希望它起作用,请删除 (Object[])
,我不知道是谁添加的,也不知道为什么添加的。可能这是通过反编译某些 class 文件生成的代码。对于那些实际上不完全有效的人来说,这是非常普遍的。如果您对超过几页的代码执行此操作,这只是大约 149495581 个进一步错误中的第一个。
所以我正在 java 尝试一些东西。 (锻造我的世界 mod)。当我编译时,我不断收到此错误:
error: incompatible types: inference variable E has incompatible bounds
return Lists.newArrayList((Object[])new String[] { "clickset" });
^
equality constraints: String
lower bounds: Object
where E is a type-variable:
E extends Object declared in method <E>newArrayList(E...)
密码是:
public List<String> getCommandAliases() {
return Lists.newArrayList((Object[])new String[] { "clickset" });
}
那条线很明显被破坏了:它调用了 Lists.newArrayList
,这大概是 guava 的 Lists
实用程序 class(是否有 import com.google.common.collect.*
或 .Lists
在顶部?那么,是的)。即使不是,这个名字也表明了意图。
您将此方法交给 Object[]
(因为转换)。显然,这意味着它将 return 一个 List<Object>
。但是,您的方法必须 return a List<String>
。因此,它不会出错。
此代码现在无效,以后也不会。
如果您希望它起作用,请删除 (Object[])
,我不知道是谁添加的,也不知道为什么添加的。可能这是通过反编译某些 class 文件生成的代码。对于那些实际上不完全有效的人来说,这是非常普遍的。如果您对超过几页的代码执行此操作,这只是大约 149495581 个进一步错误中的第一个。