当我用集合框架中的add方法相集合内加入元素时,到底是把这个元素的引用加进去了呢还是做了一个副本加进去。
以前接触过,好像是引用。不是很清楚,求教
以前接触过,好像是引用。不是很清楚,求教
解决方案 »
- 请教高手一个问题,谢谢
- java socket
- 初学Java。。想问下java.lang.UnsatisfiedLinkError是什么情况?
- 跪求大侠告知,jta20.jar的使用方法,我就想用它的telnet服务嵌到界面中去!多谢多谢!
- swing风格怎么改变
- 为什么swing的菜单弹出速度没有win32的快,总是要停顿一下?
- JDBC驅動程序打包問題,求命!!
- Double tt= new Double()
- 公司域名中带中划线“-”该如何起包名?
- 关于tomcat连接mysql的问题。请各位高手指点。
- 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 等等
你会发现,各种集合都是引用因为外面的修改会影响集合里面