安全 - 方法返回内部数组 - 声纳安全警告 - 即使我返回克隆

时间:2015-04-27 12:01:47

标签: java security sonarqube

下面的return语句给我一个Sonar安全警告,即使我没有返回原始数组但是它的克隆。

这样做的“正确”方法是什么?

public String[] getList() {
        return list!=null? list.clone():null;
}

1 个答案:

答案 0 :(得分:0)

试试这个:

public String[] getList() {
  if (list == null) {
    return new String[0];
  }

  String[] copy = new String[list.length];
  System.arraycopy(list, 0, copy, 0, list.length);
  return copy;
}