如何解决java中的安全问题_如何解决java中“使用了未经检查或不安全的操作 请使用 -Xlint:unchecked 重新编译 ”的问题...

导语:叶子写了一个Gradle构建的Spring Boot的项目,在IntelliJ IDEA的Terminal中使用命令Gradle build编译时提示:“ResultUtil.java使用了未经检查或不安全的操作。”

问题

注: D:\Javaorg\hx\src\main\java\com\cddx\hx\utils\ResultUtil.java使用了未经检查或不安全的操作。

注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。

解决方法

一、更新代码

更新代码,更改代码为泛型使用方式,使用 Result、List的实例能接受任何类型的对象,修改前代码如下:

public class ResultUtil {

/** 成功且带数据 **/

public static Result success(Object object) {

Result result = new Result();

result.setCode(ResultEnum.SUCCESS.getCode());

result.setMsg(ResultEnum.SUCCESS.getMsg());

result.setData(object);

return result;

}

/** 成功但不带数据 **/

public static Result success() {

return success(null);

}

/** 失败 **/

public static Result error(Integer code, String msg) {

Result result = new Result();

result.setCode(code);

result.setMsg(msg);

return result;

}

}

修改后的代码为:

public class ResultUtil {

/** 成功且带数据 **/

public static Result success(Object object) {

Result result = new Result();

result.setCode(ResultEnum.SUCCESS.getCode());

result.setMsg(ResultEnum.SUCCESS.getMsg());

result.setData(object);

return result;

}

/** 成功但不带数据 **/

public static Result success() {

return success(null);

}

/** 失败 **/

public static Result error(Integer code, String msg) {

Result result = new Result();

result.setCode(code);

result.setMsg(msg);

return result;

}

}

二、修改build.gradle文件,添加下面的配置,这样在编译的时候,就能看到详细的错误提醒了。

allprojects {

gradle.projectsEvaluated {

tasks.withType(JavaCompile) {

options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"

}

}

}

看到详细的错误提醒后,还是要更新代码才可以的。


版权声明:本文为weixin_30946627原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。