我刚开始使用库,而不是从头开始创建所有东西,但这给我带来了一些我不理解的问题。
我有一个链接列表,我正在添加"信息"——一个里面有变量"年龄"one_answers"名字"的对象,但我很困惑。
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,我不明白为什么我可以在不重新创建节点的情况下修改信息对象?
有人能告诉我为什么吗?
如果没有这一行,您只有一个由年龄44和年龄66共享的实例-基本上同一个对象被插入了两次,并且都有年龄66,因为这会覆盖44。
在这行中,您创建了第二个实例,尽管重用了相同的变量,但现在它指向/引用了不同的对象。