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[]的引用。

上一篇:集合的toArray方法产生的Object[]数组转换失败


下一篇:不支持原子性的 Redis 事务也叫事务吗?