编译代码时收到一条消息:
Note: H:\Project2\MyGui2.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
如何重新编译-Xlint:unchecked
?
编译代码时收到一条消息:
Note: H:\Project2\MyGui2.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
如何重新编译-Xlint:unchecked
?
在 javac 的命令行中指定它:
javac -Xlint:未选中
或者如果你使用 Ant 修改你的 javac 目标
<javac ...>
<compilerarg value="-Xlint"/>
</javac>
如果您使用的是 Maven,请在maven-compiler-plugin
<compilerArgument>-Xlint:unchecked</compilerArgument>
对于IntelliJ 13.1,转到File-> Settings-> Project Settings-> Compiler-> Java Compiler,然后在右侧Additional command line parameters
输入"-Xlint:unchecked"
。
在 gradle 项目中,您可以通过以下方式添加此编译参数:
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked"
}
}
我知道这听起来很奇怪,但我很确定这是你的问题:
在 MyGui.java 中的某个地方,您正在使用通用集合而不指定类型。例如,如果您在某处使用 ArrayList,则您正在执行以下操作:
List list = new ArrayList();
当你应该这样做时:
List<String> list = new ArrayList<String>();
gradle还有另一种方式:
compileJava {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
对于 Android Studio,将以下内容添加到块内的顶级build.gradle
文件中allprojects
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
在 CMD 中,编写:
javac -Xlint:unchecked MyGui2.java
它将显示未检查或不安全操作的列表。
如果您使用像 NetBeans 这样的 IDE,则可以Xlint:unchecked
在项目的属性中指定编译器选项。
只需转到项目窗口,右键单击项目,然后单击Properties
。
在出现的窗口中搜索Compiling
类别,并在标有标签的文本框中Additional Compiler Options
设置Xlint:unchecked
选项。
因此,每次编译项目时,该设置都将保持设置。
使用 -Xlint 编译的其他方式:通过命令行取消选中
javac abc.java -Xlint:unchecked
它将显示未经检查和不安全的警告。
指定 Gradle 编译器参数的一种更简洁的方法如下:
compileJava.options.compilerArgs = ['-Xlint:unchecked','-Xlint:deprecation']
仅供参考,IntelliJ 15 的这些设置已经改变,新的和改进的更深的埋葬!
现在是:文件 > 其他设置 > 默认设置 > '构建、执行、部署' > 编译器 > Java 编译器
并且在附加命令行参数中,和之前一样,写“-Xlint:unchecked”。