什么原因导致javac发出“使用未经检查或不安全的操作”警告

问题:

例如:

javac Foo.java
Note: Foo.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

回答:

如果您使用没有类型说明符的集合(例如Arraylist()而不是ArrayList<String>()),则Java 5及更高版本将出现。这意味着编译器无法以类型安全的方式检查您使用的集合,使用generics
要摆脱警告,只需要具体说明你在集合中存储的对象类型。所以,而不是

List myList = new ArrayList();

使用

List<String> myList = new ArrayList<String>();

在Java 7中,您可以使用Type Inference缩短通用实例化

List<String> myList = new ArrayList<>();

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: What causes javac to issue the “uses unchecked or unsafe operations” warning

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

9 + 1 =