一尘不染

operations” warning 是什么导致javac发出“使用未检查或不安全的操作”警告

java

例如:

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

阅读 332

收藏
2020-02-26

共1个答案

一尘不染

如果你使用的是不带类型说明符的集合(例如,Arraylist()而不是ArrayList<String>()),则在Java 5及更高版本中会出现这种情况。这意味着编译器无法使用泛型以类型安全的方式检查你是否正在使用集合。

要消除警告,只需具体说明你要在集合中存储的对象类型。所以,代替

List myList = new ArrayList();

采用

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

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

List<String> myList = new ArrayList<>();
2020-02-26