1
 public int getFreezeColumns() {
    Integer currentValue = (Integer) checkValueBinding("freezeColumns", this.freezeColumns);
    if (currentValue != null) {
      return currentValue;
    }
    return 0;
  }

FindBugs 说:

一个基元被装箱,然后立即拆箱。这可能是由于在需要未装箱值的地方进行了手动装箱,从而迫使编译器立即撤消装箱工作。

我怎么可能解决这个问题?

4

2 回答 2

2

我认为这个抱怨有点误导:你没有将checkValueBinding它的返回值装箱Object,但你Integer过早地将它转换为

尝试更改代码以查看它是否可以帮助您避免警告:

public int getFreezeColumns() {
    Object currentValue = checkValueBinding("freezeColumns", this.freezeColumns);
    if (currentValue != null) {
        return (Integer)currentValue;
    }
    return 0;
}
于 2012-07-26T16:29:08.850 回答
1

在我看来,它似乎在抱怨您正在创建一个Integer,然后int立即将其转换为返回它。

checkValueBinding 返回什么?你真的需要把它包装成一个Integer

于 2012-07-26T16:25:55.160 回答