Есть ли разница между этими тремя, если a
имеет тип ArrayList<T>
? (За исключением того факта, что компилятор жалуется на непроверенных операций в # 3.)Различные способы копирования ArrayList
1.
ArrayList<T> a1 = new ArrayList<T> (a);
2.
ArrayList<T> a2 = new ArrayList<T>();
a2.addAll (a);
3.
ArrayList<T> a3 = (ArrayList<T>) (a.clone());
Я готов поспорить, что # 2 работает медленнее, чем # 1 из-за изменения размера проблем, но я не знаю наверняка. –
Вы знаете, что Java является открытым исходным кодом, не так ли? И есть документация? –
@DennisMeng Зависит от того, выделяет ли он память в цикле или за один раз. –