Я только начал использовать библиотеки, а не создавать все с нуля, но это вызывает у меня некоторые проблемы, которые я не понимаю.Объекты, не перераспределяющие
У меня есть список ссылок, в котором я добавляю «информацию» - объект с переменными «возраст» и «имя» внутри, но я в замешательстве.
List<ClientInfo> list = new LinkedList<>();
ClientInfo information = new ClientInfo();
information.age = 44;
list.add(information);
information = new ClientInfo(); // without this line it doesn't work, but i don't get why it shouldn't
information.age = 66;
list.add(information);
int age = list.get(0).age;
System.out.println(age);
age = list.get(1).age;
System.out.println(age);
Как вы можете видеть выше, это полностью работает, однако, когда я удалить комментируемой линию он больше не работает, он просто добавляет 66 к обоим полям, и я не понимаю, почему, как, конечно, я могу изменить объект информации без необходимости воссоздать узел?
Может ли кто-нибудь сказать мне, почему?
Он не добавляет 66 в оба поля, он перезаписывает поле вашего объекта. Вы не можете хранить два разных значения в поле того же объекта. – RockOnRockOut
Когда вы добавляете эту строку, вы создаете новый объект, который может хранить ваши новые данные. – RockOnRockOut