感到困惑的是,Java在传递对象引用时是使用按值调用还是按引用调用?
2022-09-01 20:48:05
public class program1{
public static void main(String args[]){
java.util.Vector vc=new java.util.Vector();
vc.add("111");
vc.add("222");
functioncall(vc);
vc.add("333");
System.out.println(vc);
}
public static void functioncall(java.util.Vector vc){
vc=null;
}
}
上述程序的输出为 [111,222,333]。但是,当我运行以下程序时,输出是[333]。当我们传递引用时感到困惑,它是如何工作的,无论是按值调用还是按引用调用?以及为什么
public class program1{
public static void main(String args[]){
java.util.Vector vc=new java.util.Vector();
vc.add("111");
vc.add("222");
functioncall(vc);
vc.add("333");
System.out.println(vc);
}
public static void functioncall(java.util.Vector vc){
vc.removeAllElements();
}
}