Avatar ·

क्या Java में पैरामीटर reference या value से पास होते हैं?

सभी को नमस्ते! मैंने अभी Java सीखना शुरू किया है और मुझे एक समस्या का सामना करना पड़ा है। किताबों में लिखा है कि Java में सब कुछ value से पास होता है, लेकिन व्यवहार में मुझे कुछ अजीब दिखता है। यहाँ एक उदाहरण है। जब मैं एक method में object (जैसे list) पास करता हूँ और उसे method के अंदर बदलता हूँ, तो बदलाव method से बाहर निकलने के बाद भी बने रहते हैं: ```java public class Test { public static void main(String[] args) { StringBuilder sb = new StringBuilder("Hello"); changeString(sb); System.out.println(sb); // आउटपुट: Hello World } public static void changeString(StringBuilder s) { s.append(" World"); } } ``` यहाँ sb बदल गया। मैंने सोचा कि अगर copy पास होती है, तो बदलाव local होने चाहिए। तो क्या objects reference से पास होते हैं? लेकिन अगर मैं method के अंदर एक नया object assign करने की कोशिश करूँ, तो बाहर इसका कोई प्रभाव नहीं पड़ता: ```java public class Test { public static void main(String[] args) { StringBuilder sb = new StringBuilder("Hello");