This question already has answers here:
Returning 'data' may exposed internal array?
                                
                                    (2个答案)
                                
                        
                                去年关闭。
            
                    
我在一个课程中有一个getter方法:

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


声纳给了我例外。我该如何解决?

Returning 'dataBytes' may expose an internal array

最佳答案

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

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

09-10 01:03