小编Jav*_*i L的帖子

使用Date或List在简单的getter和setter方法中解决Sonar问题

我将这个getter/setter写成Eclipse源菜单中的列表:

public Date getDate() {
    return date;
}

public void setDate(Date date) {
    this.date = date;
}
Run Code Online (Sandbox Code Playgroud)

和Sonar报告了两个问题:

返回"日期"的副本并存储"日期"的副本

随着解释

"不应存储或直接退回可变成员"

和一个示例代码:

public String [] getStrings() {
    return strings.clone();}

public void setStrings(String [] strings) {
    this.strings = strings.clone();}
Run Code Online (Sandbox Code Playgroud)

我想如果我的Date为null,它将抛出NullPointerException.然后我将我的代码更改为:

public Date getDate() {
    if (this.date != null) {
        return new Date(this.date.getTime());
    } else {
        return null;
    }
}

public void setDate(Date date) {
    if (date != null) {
        this.date = new Date(date.getTime());
    } else {
        this.date = null;
    }
} …
Run Code Online (Sandbox Code Playgroud)

java getter-setter sonarqube

7
推荐指数
1
解决办法
9321
查看次数

标签 统计

getter-setter ×1

java ×1

sonarqube ×1