书上的解释, 我没看懂 。
就是你的方法返回没有指定类型,现在你强转成了指定的类型,但是编译器是不认识你里面的代码的,不知道你到底写了什么类型,所以会报让你加一个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() {
}
16 回答15.1k 阅读✓ 已解决
8 回答3.3k 阅读
9 回答3.1k 阅读
5 回答736 阅读
6 回答1.7k 阅读
4 回答876 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
就是你的方法返回没有指定类型,现在你强转成了指定的类型,但是编译器是不认识你里面的代码的,不知道你到底写了什么类型,所以会报让你加一个unchecked,让他不需要去检查你的类型是否正确