当我用集合框架中的add方法相集合内加入元素时,到底是把这个元素的引用加进去了呢还是做了一个副本加进去。
以前接触过,好像是引用。不是很清楚,求教
以前接触过,好像是引用。不是很清楚,求教
解决方案 »
- 对象的创建
- 求异常解决方法:Exception in thread "main" java.lang.NoClassDefFoundError:
- 【新人求助!!!!】求一组随机数中每个数字出现的次数
- 求助!怎样根据输入的参数动态的生成类与对象
- 如何如此实现“动态”访问EJB构件?(详情见内)
- 各位高手,请帮我注释一下代码。
- 请问如何在客户端未安装jre插件时还能使applet正常显示?
- 路径设置不了!!??
- 请问怎么在JAVA中打开某个Excel文件(象COM自动化那种)?
- 如何将两个Date相差的天数求出来?
- POI操作excel,如何删除或隐藏一个sheet?
- 请教:JAVA查询Oracel时的报错:没有进程来读取写入管道的数据
import java.net.*;
import java.util.Vector;
import java.io.*;
import java.util.*;public class TestCon {
public static void main(String[] args) throws Exception{
//System.out.println(args[0]);
Class c = Class.forName(args[0]);
Collection coll = (Collection)c.newInstance();
Person p = new Person("old_name");
coll.add(p);
p.setName("new_name");//修改外面的reference
Iterator it = coll.iterator();
Person pp = (Person)it.next() ;//得到集合里面的reference
System.out.println(pp.getName());//test
}
}class Person {
String name ;
public Person(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name ;
}
}/////////////////这个程序可以帮助你理解,
输入的参数可以是各种集合(不包括Map)
java.util.ArrayList 等等
你会发现,各种集合都是引用因为外面的修改会影响集合里面