是否可以在Java中传递Array by Value(而不是引用)?

use*_*406 0 java

是否可以在Java中的函数中传递Array by Value.当我们在默认情况下在函数中传递数组时,它通过引用传递,并且数组中的原始数据版本被修改.

因此想知道Java中是否存在pass by value选项?

Tod*_*odd 5

不,Java没有,但你可以做一个防御性的副本......

public void doSomethingWithArray(int[] arr) {
    int[] myArr = Arrays.copyOf(arr, arr.length);
     ...
}
Run Code Online (Sandbox Code Playgroud)