package com.mbsmc.commons;import java.util.*;import com.mbsmc.model.TERM;public class Test { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
TERM stu = new TERM();//这是一个对象
List list = new ArrayList();
stu.setCOUNTY_NAME("cq");
list.add(0,stu);
stu.setCOUNTY_NAME("sc");
list.add(1,stu);
for(int i = 0 ;i<list.size();i++){
TERM aa = (TERM)list.get(i);
System.out.println("CITY:"+ aa.getCOUNTY_NAME());
}
}}
输出:
CITY:sc
CITY:scpackage com.mbsmc.commons;import java.util.*;import com.mbsmc.model.TERM;public class Test { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
TERM stu = new TERM();//这是一个对象
List list = new ArrayList();
stu.setCOUNTY_NAME("cq");
list.add(0,stu);
stu = new TERM();
stu.setCOUNTY_NAME("sc");
list.add(1,stu);
for(int i = 0 ;i<list.size();i++){
TERM aa = (TERM)list.get(i);
System.out.println("CITY:"+ aa.getCOUNTY_NAME());
}
}}
输出:
CITY:cq
CITY:sc
今天遇到这样一个问题,不知很明白JAVA是怎么运行的..高手讲解下
第二段代码在list存放第一个对象后执行这句stu = new TERM();这样stu指向一个新的实例。改变stu不会影响list里存放的第一个实例。所以输出的是cq和sc
list.add(0,stu);
stu.setCOUNTY_NAME("sc");
list.add(1,stu);这样使得List的两个记录实际上是指向同一个对象,所以stu.setCOUNTY_NAME("sc");会影响这两个对象
list.add(0,stu);
stu = new TERM();
stu.setCOUNTY_NAME("sc");
list.add(1,stu);
这样在List里面的两个记录,实际上分别指向两个对象了,它们之间互不影响的