public static List<Object> parseArray(String text, Type[] types) {
if(text == null) {
return null;
} else {
DefaultJSONParser parser = new DefaultJSONParser(text, ParserConfig.getGlobalInstance());
Object[] objectArray = parser.parseArray(types);
List list;
if(objectArray == null) {
list = null;
} else {
list = Arrays.asList(objectArray);
}
parser.handleResovleTask(list);
parser.close();
return list;
}
}
“ Arrays.asList(objectArray); ” 这个方法返回的类型不是java.utl.ArrayList 类型,而java.util.Arrays$ArrayList
2条答案
按热度按时间brccelvz1#
这有什么问题?
pvcm50d12#
我没记错的话,Arrays.asList得到的List只是list的视图,所以基本特性和原生数组是一样的,是不允许push和remove等改变size的操作的。如果文档里没有注明这点,又不看源码,只看函数的返回类型,以为返回的是普通List,很容易中招~