Здесь у меня есть сценарий, в котором я хочу создать unmodifiableList таким образом, чтобы никакая другая часть программы не могла изменить его начальные значения.
Вот фрагмент кода, чтобы дать некоторое представление о моей проблеме.
public class Test {
public static void main(String[] args) {
List<String> unmodifiableList = new ArrayList<String>();
unmodifiableList.add("test1");
unmodifiableList.add("test2");
unmodifiableList = Collections.unmodifiableList(unmodifiableList);
List<String> modifiableList = new ArrayList<String>();
modifiableList.addAll(unmodifiableList);
unmodifiableList = modifiableList;
unmodifiableList.add("test3");
for (String s : unmodifiableList) {
System.out.println(s);
}
}
}
Вывод: test1 test2 test3
Ожидаемый вывод: test1 test2