在平时的开发中经常会遇到一些List的初始化,大部分应该用的都是Arrays.asList(),即:List<Long> listLong = Arrays.asList(0L, 1L, 2L);
这种方式快速简洁,但是同时也带来了一定的隐患,因为通过Arrays.asList()初始化的并不是数据元素而是数组本身,不能对longList进行add()、remove()、clear(),使用longList.get(1) 也会报错。想要深入研究的话可以去看看Arrays.asList的源码。
推荐用:List<Long> listLong = new ArrayList<>(Arrays.asList(0L, 1L, 2L));或者List<Long> listLong = ImmutableList.of(0L, 1L, 2L);
转载请注明:扩产网 » Java Arrays.asList() 的那些坑