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();
}
}
नकारात्मक वोट क्यों ?? समझ में नहीं आता .. – user617597
मुझे कोड इंडेंटिंग के उस "कुत्ते के नाश्ते" के लिए डाउन-वोट करने का लुत्फ उठाना पड़ा, लेकिन इसे स्लाइड करने दें। मुझे ** संदेह है ** यह किसी ऐसे व्यक्ति द्वारा डाउन-वोट किया गया था जो महसूस करता है कि कई डुप्लिकेट हैं। बेहतर हिट के लिए दाईं ओर कॉलम में दिखाए गए 'संबंधित' धागे को जांचें [टैग: पास-बाय-रेफरेंस] और [टैग: पास-बाय-वैल्यू] टैग जोड़े गए हैं। –
क्योंकि इसे पहले से ही दस लाख बार पूछा गया है, जो एक खोज इंजन जल्दी से दिखाएगा। अब फिर से अंतहीन बहस होगी, क्योंकि ज्यादातर लोग गलत तरीके से आश्वस्त हैं कि यह संदर्भ द्वारा कॉल किया जाता है। यदि इसे संदर्भ द्वारा कॉल किया गया था तो आपका पहला उदाहरण NullPointerException को फेंक देगा। –