小编Sor*_*rOK的帖子

用Java传递参数

我知道Java总是按值传递,但我不明白为什么这样可行:

public static void swap(int[] arr, int i, int j)
{
    int tmp = arr[i];
    arr[i] = arr[j];
    arr[j] = tmp;
}
public static void main(String[] args)
{
    int[] arr = {3, 4, 5, 6};
    swap(arr, 1, 3);
    // arr becomes {3, 6, 5, 4}
}
Run Code Online (Sandbox Code Playgroud)

这不起作用:

public static void swap(int[] arr, int[] arr2)
{
    int[] tmp = arr;
    arr = arr2;
    arr2 = tmp;
}
public static void main(String[] args)
{
   int[] arr = {3, 4, 5, 6};
   int[] …
Run Code Online (Sandbox Code Playgroud)

java pass-by-value

12
推荐指数
2
解决办法
899
查看次数

标签 统计

java ×1

pass-by-value ×1