一段很短而奇怪的java代码!

cbthetwo 2008-03-11 07:24:42
package pac1;
import java. util.Vector;

public class Main {
public Main(){


this.Vmethod();
}
public void Vmethod(){
Vector v1=new Vector();
Vector v2=new Vector();
v1.add("a");
v1.add("b");
v2.add(v1);
v1.clear();
v1.add("c");
v1.add("d");
v2.add(v1);
v1.clear();
v1.add("e");
v1.add("f");
v2.add(v1);
System.out.print(v2.get(0));
}

public static void main(String[] args){
new Main();

}

}



 输出结果是[e,f]

 应该 是[a,b] 才对啊!

朋友 确实是没分了,  有绝对给!

...全文
135 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cbthetwo 2008-03-12
  • 打赏
  • 举报
回复
  原来如此!
  非常感谢! 
  08 交好运!    
rxiaozheng 2008-03-11
  • 打赏
  • 举报
回复
import java. util.Vector;

public class Main {
public Main(){


this.Vmethod();
}
public void Vmethod(){
Vector v1=new Vector();
Vector v2=new Vector();
v1.add("a");
v1.add("b");
v2.add(v1); // v2[0]={a,b}
v1.clear(); // v2[0]={}
v1.add("c"); // v2[0]={c}
v1.add("d"); // v2[0]={c,d}
v2.add(v1); // v2[0]={c,d},v2[1]={c,d}
v1.clear(); // v2[0]={},v2[1]={}
v1.add("e"); // v2[0]={e},v2[1]={e}
v1.add("f"); // v2[0]={e,f},v2[1]={e,f}
v2.add(v1); // v2[0]={e,f},v2[1]={e,f},v2[2]={e,f}
System.out.print(v2.get(0));
}

public static void main(String[] args){
new Main();

}

}
soglad 2008-03-11
  • 打赏
  • 举报
回复
v2存的是v1的一个引用,v1怎么变,在v2里存的v1的内容就怎么变
zapdos 2008-03-11
  • 打赏
  • 举报
回复
因为v1就是v1

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧