public int getFreezeColumns() {
Integer currentValue = (Integer) checkValueBinding("freezeColumns", this.freezeColumns);
if (currentValue != null) {
return currentValue;
}
return 0;
}
FindBugs说:
原语被装箱,然后立即取消装箱。这可能是由于在需要取消装箱值的地方进行手动装箱,因此迫使编译器立即撤消装箱的工作。
我怎么可能解决这个问题?
答案 0 :(得分:2)
我认为投诉有点误导:你没有装checkValueBinding
Object
的返回值,但是你过早地将它投射到Integer
尝试更改代码,看看它是否有助于您避免警告:
public int getFreezeColumns() {
Object currentValue = checkValueBinding("freezeColumns", this.freezeColumns);
if (currentValue != null) {
return (Integer)currentValue;
}
return 0;
}
答案 1 :(得分:1)
在我看来,它抱怨您正在创建Integer
,然后立即将其转换为int
以便将其返回。
checkValueBinding返回什么?你真的需要将它包装成Integer
吗?