用泛型编程时,会遇到很多编译器警告;非受检强制转换为警告、非受检方法调用警告、非受检数组创建警告、以及非受检转换警告。当你越来越熟悉泛型之后,遇到的警告也会越来越少。但是不要期待从一开始使用泛型编写代码就可以正确的进行编译。
很多非受检警告很容易消除,例如
List<String> list = new ArrayList();
编译器会提醒你,哪里出错了。你可以纠正错误,消除警告
改为 List<String> list = new ArrayList<>();
有些警告很难消除,当你遇到需要进行思考的警告时,要尽可能的消除所有的警告,如果消除了所有警告,就可以确保代码是类型安全的。意味着代码允许阶段就不会出现ClassCastException异常。