返回' dataBytes'可能会暴露内部数组

时间:2018-03-19 18:49:29

标签: java arrays sonarqube

我在其中一个类中有一个getter方法:

  public byte[] getBytes() {
    return dataBytes;
  }

声纳正在给我例外。我能解决这个问题吗?

Returning 'dataBytes' may expose an internal array

1 个答案:

答案 0 :(得分:3)

返回数组的副本,因此对其所做的任何更改都不会反映在原始数组中。这当然会导致性能和内存损失,因此对于大型阵列,这可能是您需要考虑的事情。

return Arrays.copyOf(dataBytes, dataBytes.length);