按上图进行编译(jdk1.8)得到如下问题:
注: java使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用__ -Xlint:unchecked__ 重新编译。
那么我们就使用 -Xlint:unchecked重新编译看看会出现什么情况:
D:\javaEE\MyProject\beerV1>javac -Xlint:unchecked -d classes src/com/example/mod
el/BeerExpert.java
得到关于这个问题的详细信息:
src\com\example\model\BeerExpert.java:8: 警告: [unchecked] 对作为原始类型List的
成员的add(E)的调用未经过检查
brands.add("Jack Amber");
^
其中, E是类型变量:
E扩展已在接口 List中声明的Object
src\com\example\model\BeerExpert.java:9: 警告: [unchecked] 对作为原始类型List的
成员的add(E)的调用未经过检查
brands.add("Red Moose");
^
其中, E是类型变量:
E扩展已在接口 List中声明的Object
src\com\example\model\BeerExpert.java:12: 警告: [unchecked] 对作为原始类型List的
成员的add(E)的调用未经过检查
brands.add("Jail Pale Ale");
^
其中, E是类型变量:
E扩展已在接口 List中声明的Object
src\com\example\model\BeerExpert.java:13: 警告: [unchecked] 对作为原始类型List的
成员的add(E)的调用未经过检查
brands.add("Gout Stout");
^
其中, E是类型变量:
E扩展已在接口 List中声明的Object
4 个警告
D:\javaEE\MyProject\beerV1>javac -d classes src/com/example/model/BeerExpert.jav
a
注: src\com\example\model\BeerExpert.java使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
解决方法:
在类前加上@SuppressWarnings("unchecked")
编译成功!