gpt4 book ai didi

java - findbug 发出的危险代码警告

转载 作者:行者123 更新时间:2023-11-29 08:37:21 25 4
gpt4 key购买 nike

我有这样的代码:

public void myfun(int value) throws ApplicationException{

Object obj = new Object();

if(value == 1){
obj = <Call to other Service>
} else if (value == 2){
obj = <Call to other Service>
}
else {
throw ApplicationException();
}
}

我收到 FindBug 的警告,Dead 存储到 obj。我知道这个错误是因为 obj 是局部变量而我没有在 else 语句中使用它。我该如何处理?

最佳答案

这不是狡猾的警告,而是不必要的死存储。它与 else 条件无关。

你的选择是..

使用变量,让store不再死气沉沉..

Object obj; // don't new Object() here as we will only write over it

if(value == 1){
obj = something();
} elseif (value == 2){
obj = something();
} else {
throw new ApplicationException();
}

useTheObject(obj);

首先不要做死店。未使用变量?拿出来...

if(value == 1){
something();
} elseif (value == 2){
something();
} else {
throw new ApplicationException();
}

为什么将值存储在变量中而不对其进行任何操作?

关于java - findbug 发出的危险代码警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42943717/

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