java - 返回 'dataBytes' 可能会暴露一个内部数组

标签 java arrays sonarqube

<分区>

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

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

Sonar 给我异常(exception)。我该如何解决这个问题?

Returning 'dataBytes' may expose an internal array

最佳答案

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

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

关于java - 返回 'dataBytes' 可能会暴露一个内部数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49370336/

相关文章:

arrays - 追加数组自定义函数不起作用

c++ - 1 索引数组上的 qsort() 搞乱了索引

sonarqube - Sonar 数据库结构是什么?

java - Servlet 过滤器无法正常工作

java - 将 groovy 与 stripes web 框架结合使用

c - 如何在 C 中使用动态多维数组?

javascript - 如何更改 Karma 执行的 LCOV 报告的格式?

c# - Sonar 异常 : Unknown metric: temp-method-lines

java - 如何防止 Jar 文件在 macOS 上转换为 zip”?

java - 哪种 rpc/消息传递框架最适合这种情况?