閱讀991 返回首頁    go 微軟 go windows


Collection轉換Array副作用

在Java中,常遇到List 轉 String[], 或者 String[] 轉List的場景,JDK提供方便的工具Arrays. 但要小心副作用。
如:

    String str = "a-b-c-d";
    String[] strings =str.split("-");
    List list = Arrays.asList(strings);
    Collections.reverse(list); ## this action will affect "strings"

發現,string[] 轉為List後,對List的操作會改變原string[].

原來,Arrays.asList返回的是一個固定長度的java.util.Arrays.ArrayList(**注意**,不是java.util.ArrayList),Arrays.ArrayList中數據就是對原string[]的引用。

最後更新:2017-04-17 16:00:45

  上一篇:go 阿裏雲,我的一些看法
  下一篇:go PostgreSQL 證券行業數據庫需求分析與應用