有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java奇怪的排序行为

int[] a = new int[] {7,2,1,10,8,9};
int[] b = a;
Arrays.sort(b);

为什么在对b执行排序操作后,两个数组都会被排序。不应该只有b被排序吗


共 (4) 个答案

  1. # 1 楼答案

    ba都指向同一个数组对象。所以它们都是相同的数组

  2. # 2 楼答案

    {cd1}和

    int[] b = a;
    

    您不是在复制数组,而是在复制对同一数组的引用

  3. # 3 楼答案

    因为将a分配给b只会将引用分配给数组。内存中只有一个数组,所以无论从何处访问它,更改它都会改变它

  4. # 4 楼答案

    因为它只是一个数组。“a”和“b”只是对同一数组的引用

    如果使用clone方法复制值,那么a和b将是不同的数组,只有b将被排序