例如:
javac Foo.java
Note: Foo.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
例如:
javac Foo.java
Note: Foo.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
当前回答
对于Android Studio,你需要添加:
allprojects {
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked"
}
}
// ...
}
在项目的构建中。Gradle文件来了解这个错误是在哪里产生的。
其他回答
对于Android Studio,你需要添加:
allprojects {
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked"
}
}
// ...
}
在项目的构建中。Gradle文件来了解这个错误是在哪里产生的。
“未检查或不安全操作”警告是在java添加泛型时添加的,如果我没记错的话。它通常要求你以这样或那样的方式更明确地说明类型。
为例。foo = new ArrayList();触发该警告,因为javac正在寻找ArrayList<String> foo = new ArrayList<String>();
例如,当你调用一个返回泛型集合的函数时,你不自己指定泛型参数。
对于一个函数
List<String> getNames()
List names = obj.getNames();
将生成此错误。
要解它,你只需要加上参数
List<String> names = obj.getNames();
我上了两年前的课,也上了一些新课。我在Android Studio中解决了这个问题:
allprojects {
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked"
}
}
}
在我的项目构建中。gradle文件(Borzh解决方案)
如果还剩下一些methods:
@SuppressWarnings("unchecked")
public void myMethod()
{
//...
}
此警告意味着您的代码在原始类型上操作,请使用
-Xlint:unchecked
获取详细信息
是这样的:
javac YourFile.java -Xlint:unchecked
Main.java:7: warning: [unchecked] unchecked cast
clone.mylist = (ArrayList<String>)this.mylist.clone();
^
required: ArrayList<String>
found: Object
1 warning
Docs.oracle.com在这里谈到了它: http://docs.oracle.com/javase/tutorial/java/generics/rawTypes.html