我正在解决SonarQube问题,在该问题中,我遇到了以下错误,但不能确定这是哪种错误,

这是我的实体课

@Entity
@Cacheable
@DynamicUpdate
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
@Table(name = Vendor.TABLE_NAME)
public class Vendor
{


    @Column(name = VENDOR_MODIFIED_BY_FOREIGN_KEY, nullable = true)

    private Integer modifiedBy;



    public Integer getModifiedBy() {

        return modifiedBy == null ? 0 : modifiedBy;

//Boxed value is unboxed and then immediately reboxed in com.bostonbyte.thelift.entities.vendors.Vendor.getModifiedBy()




    }



    public void setModifiedBy(Integer modifiedBy) {

        this.modifiedBy = modifiedBy;

    }


我在遇到错误

 public Integer getModifiedBy() {

                return modifiedBy == null ? 0 : modifiedBy;


您能告诉我这是什么错误吗?

最佳答案

这意味着将原始数据类型自动转换为其等效的Wrapper类型的操作称为装箱,而相反的操作称为拆箱。
在您的代码中,modifiedby被取消装箱,用于与int value(0)即原始数据类型进行比较,在对值进行比较之后,由于其返回类型为Wrapper类,它将再次被装箱,我认为您应该使用第一个答案,即@jens。

10-06 16:14