编译代码时收到一条消息:
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-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
选项。
因此,每次编译项目时该设置都将保持不变。
指定 Gradle 编译器参数的更简洁方法如下:
compileJava.options.compilerArgs = ['-Xlint:unchecked','-Xlint:deprecation']
使用 -Xlint 进行编译的其他方式:通过命令行取消选中
javac abc.java -Xlint:unchecked
它会显示未经检查和不安全的警告。
仅供参考,IntelliJ 15 的这些设置已更改,新的和改进的更深埋藏!
现在是:文件>其他设置>默认设置>“构建、执行、部署”>编译器> Java编译器
并在附加命令行参数中,与以前相同,写入“-Xlint:unchecked”。
2024年的答案:
在应用程序级别
build.gradle
文件中添加以下代码并再次构建您的应用程序。
android {
// ...
tasks.withType(JavaCompile).tap {
configureEach {
options.compilerArgs += '-Xlint:unchecked'
}
}
// ...
}