Я изучал Java, передавая ссылку на объект по значению, и чтобы сделать локальную копию объекта, я могу сделать clone () или конструктор копирования.Я также рассмотрел глубокую / мелкую копию, а также несколько постов по stackoverflow.
Теперь я смотрю на пример:
List<String> list = new ArrayList<String>();
String one = "one"
list.add(one);
В нескольких прочитанных статьях упоминается, что ArrayList реализует клонируемый, но делаетна самом деле не говорят, как сделать локальную копию «списка», если типом является List, а не ArrayList, который не реализует cloneable.
Я могу вызвать clone (), если «list» является типом ArrayList.
ArrayList<String> list = new ArrayList<String();
list.clone();
Но если type - List, я не могу.
Должен ли я просто использовать конструктор копирования, как показано ниже, для локального копирования?Как лучше всего сделать копию «списка»?
List<String> tmpList = new ArrayList<String>(list);