gpt4 book ai didi

java - FindBugs Dead Store Warning - 我应该重组代码还是忽略警告

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:57:32 25 4
gpt4 key购买 nike

我在下面的 int i 上收到了带有 Findbugs 的 DeadStore 警告。由于可读性,我不想写一行。有没有更好的方法来写这个,这样 i 就没有 DeadStore,但可读?

   if (aqForm.getId() != null) {
try {
int i = Integer.parseInt(aqForm.getId());
aqForm.setId(aqForm.getId().trim());
} catch (NumberFormatException nfe) {
result.rejectValue("id", "error.id", "Please enter an integer.");
foundError = true;
}
}

最佳答案

您不必分配给i。您可以只调用 parseInt() 并忽略结果:

   if (aqForm.getId() != null) {
try {
Integer.parseInt(aqForm.getId()); // validate by trying to parse
aqForm.setId(aqForm.getId().trim());
} catch (NumberFormatException nfe) {
result.rejectValue("id", "error.id", "Please enter an integer.");
foundError = true;
}
}

也就是说,我会创建一个辅助函数:

   public static boolean isValidInteger(String str) {
...
}

然后像这样重写你的代码片段:

   String id = aqForm.getId();
if (id != null) {
if (isValidInteger(id)) {
aqForm.setId(id.trim());
} else {
result.rejectValue("id", "error.id", "Please enter an integer.");
foundError = true;
}
}

关于java - FindBugs Dead Store Warning - 我应该重组代码还是忽略警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15391654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com