@KaizerSX

Почему результат такой?

Почему мы меняя значение объекта List меняется значение массива names?
String [] names = {"Tom", "Dick", "Harry"};
         List<String> list = Arrays.asList(names);
         list.set(0, "Sue");
         System.out.println(names[0]);


результат: Sue
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Потому, что Arrays.asList() возвращает экземпляр ArrayList, использующий переданный массив. То есть вы те же самые данные просто обернули дополнительной абстракцией.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
leahch
@leahch
Я мастер на все руки, я козлик Элек Мэк :-)
Ну потому, что вы изменяете не массив, а НОВЫЙ список, полученный из массива, а массив сам не трогаете.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы