?????????????Stack Overflow?????????????????????????????????????????????????Stack Overflow????????????????????????????????????????????????ɡ?
?????????????”??Java????????????????ArrayList?”
????Element[] array = {new Element(1)??new Element(2)??new Element(3)};
????1.?????????????????
???????????????????????£?
????ArrayList<Element> arrayList = new ArrayList<Element>(Arrays.asList(array));
???????????????????ArrayList??????????????
????ArrayList(Collection < ? extends E > c) : ?????????????????????????б???????????????????????????
??????????????????????????£?
????1.??????c???????????
????2.??????????ArrayList?г??”elementData”????????
????ArrayList???????????????£?
????public ArrayList(Collection<? extends E> c) {
????elementData = c.toArray();
????size = elementData.length;
????if (elementData.getClass() != Object[].class)
????elementData = Arrays.copyOf(elementData?? size?? Object[].class);
????}
????2.??????????е??
??????????????е?????
????List<Element> list = Arrays.asList(array);
??????????????asList()??????б???С???????????????????б????java.util.ArrayList???????????java.util.Arrays???????о???????????ArrayList??????????????????飬??asList()??????б???????????????????С???б??????????£????????????б??е???????????????UnsupportedOperationException??
????list.add(new Element(4));
????Exception in thread "main" java.lang.ClassCastException: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList
????at collection.ConvertArray.main(ConvertArray.java:22)
????3.????????????
????????????????Otto??
????Element[] array = {new Element(1)?? new Element(2)};
????List<element> list = new ArrayList<element>(array.length);
????Collections.addAll(list?? array);
????4.???????????????
???????????????????????????Java??????????ArrayList????????????????????????????????????????????ɡ?????????????????Java????????????????????????????
????????????к????????????????????????StackOverflow?????????????????????????????????????????????????????????????