分享
三行代码  ›  专栏  ›  技术社区  ›  Gabriel Rogath

为什么对转换数组生成的列表进行排序也会影响原始数组

  •  -3
  • Gabriel Rogath  · 技术社区  · 6 天前

    enter image description here

    Output:
    [0, 10, 2, abc]
    [0, 10, 2, abc]
    

    我很好奇为什么数组也会被排序?提前谢谢

    1 回复  |  直到 6 天前
        1
  •  3
  •   Karol Dowbecki    6 天前

    Arrays.asList() List 对象。返回的包装 列表 有一些限制,例如你不能打电话 add()

    如果你想创建一个新的 对象,它独立于您可以使用的原始数组 java.util.ArrayList

    String[] array = { "abc", "2", "10", "0" };
    List<String> list = new ArrayList();
    Collections.addAll(list, array);
    Collections.sort(list);
    System.out.println(list); // [0, 10, 2, abc]
    System.out.println(Arrays.toString(array)); // [abc, 2, 10, 0]