对象调用很容易忽视的地址问题
package com.tcf;
import java.util.LinkedList;
import java.util.List;
public class NewEntity {
public static void main(String[] args) {
// 对象调用很容易忽视的一点
/*
* Been b = new Been(); List<Been> list = new LinkedList<Been>();
*
* b.setName("a"); b.setNumber(1); list.add(b);
*
* //一个地址指向一个堆块,当这个堆块的内容改变时,这个指向堆块的地址并没有变
*
* b.setName("b"); b.setNumber(2); list.add(b);
*
* System.out.println(list.get(0).getName() + ": " +
* list.get(0).getNumber());
*/
/*
* Been b = new Been(); List<Been> list = new LinkedList<Been>();
*
* b.setName("a"); b.setNumber(1); list.add(b);
*
* Been c = new Been();
*
* c.setName("b"); c.setNumber(2); list.add(b);
*
* System.out.println(list.get(0).getName() + ": " +
* list.get(0).getNumber());
*/
// 开辟多个地址和堆块
Been b = new Been();
List<Been> list = new LinkedList<Been>();
for (int i = 0; i < 2; i++) {
b.setName("a" + i);
b.setNumber(i);
list.add(b);
}
// 开辟一个地址和多个堆块
Been c;
List<Been> list1 = new LinkedList<Been>();
for (int i = 0; i < 2; i++) {
c = new Been();
c.setName("a" + i);
c.setNumber(i);
list1.add(c);
}
System.out.println(list.get(1).getName() + ": "
+ list.get(1).getNumber());
}
}