java 代码为啥报错:未经检查的转换 ArrayList<Car> b=(ArrayList<Car>)getA(); ?

书上的解释, 我没看懂 。


回答:

就是你的方法返回没有指定类型,现在你强转成了指定的类型,但是编译器是不认识你里面的代码的,不知道你到底写了什么类型,所以会报让你加一个unchecked,让他不需要去检查你的类型是否正确


回答:

这只是范型警告而已,不是报错。
等你后面学了范型之后再回看这里就知道怎么改可以没有警告了


回答:

类型问题
x x x x x


回答:

编译时泛型内部类型会丢失。解决这个问题的思路有:

List<Car> c = new ArrayList<>();

for (Object o : getA()) {

c.add((Car) o);

}


回答:

这个只是个警告,不影响编译,只是警告你要确保类型一致,如果你最终返回的类型和你需要转换的类型不一致,才会导致运行出错,这个警告也可以在 inspections 中关闭。


回答:

public static ArrayList<Car> getA() {

}

以上是 java 代码为啥报错:未经检查的转换 ArrayList&lt;Car&gt; b=(ArrayList&lt;Car&gt;)getA(); ? 的全部内容, 来源链接: utcz.com/p/944917.html

回到顶部