将一个Array的对象转化为List。常常使用Arrays.asList()这个方法,如下单元测试案例:
@Test
public void testArraysAsList() {
List list = Arrays.asList(1,2,3,4,5);
// list.add(8);
assertThat(list, hasItems(1, 2, 3, 4, 5));
logger.info(FastJsonUtil.toJSONString(list, true));
List list2 = new ArrayList(Arrays.asList(1,2,3,4,5));
list2.add(8);
assertThat(list2, hasItems(1, 2, 3, 4, 5, 8));
logger.info(FastJsonUtil.toJSONString(list2, true));
}
终其原因是Arrays.asList方法返回的ArrayList是继承自AbstractList同时实现了RandomAccess和Serializable接口,定义如下: private static class ArrayList extends AbstractList impleme