मैं निम्नलिखित कोड है:जावा: यह स्वैप विधि क्यों काम नहीं करती है?
public class Main {
static void swap (Integer x, Integer y) {
Integer t = x;
x = y;
y = t;
}
public static void main(String[] args) {
Integer a = 1;
Integer b = 2;
swap(a, b);
System.out.println("a=" + a + " b=" + b);
}
}
मैं इसे एक = 2 ख = 1 मुद्रित करने के लिए उम्मीद है, लेकिन यह विपरीत प्रिंट करता है। तो जाहिर है स्वैप विधि ए और बी मानों को स्वैप नहीं करती है। क्यूं कर?
कृपया मूल्य द्वारा कॉल के बीच का अंतर देखें और संदर्भ से कहते हैं। –
विधि स्वैप में आप ऑब्जेक्ट के 'मान' पास कर रहे हैं और वास्तविक ऑब्जेक्ट का संदर्भ नहीं, जो भी आप स्वैप विधि के अंदर करते हैं, उसका चर और ए पर कोई प्रभाव नहीं पड़ेगा। –