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