Confused, использует ли java вызов по значению или вызов по ссылке, когда передается ссылка на объект? [Дубликат]

На этот вопрос уже есть ответ:

Является ли Java «передачей по ссылке» или «передачей по значению»? 78 ответов
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();  

    }
}

Ответы на вопрос(11)

Ваш ответ на вопрос