2012-05-24 10 views
7

तो मैंने कई दिन पहले जावा सीखना शुरू कर दिया और एक सवाल मिला। अगली अभिव्यक्ति के लिए:System.out.printIn() पूर्णांक स्वीकार कैसे कर सकता है?

String foo=123; 

की अनुमति नहीं है।

int x=5; 
System.out.println(x); 

परोक्ष एक स्ट्रिंग के लिए एक पूर्णांक बताए के बाद से अनुमति नहीं है, काम करता है ऊपर क्यों अभिव्यक्ति: हालांकि, System.out.printIn() में, हम की तरह कुछ का उपयोग कर सकते हैं? कोई भी विस्तृत स्पष्टीकरण दे सकता है? मैं यह भी सोच रहा हूं कि हम इस तरह की अंतर्निहित चीज़ का उपयोग कब कर सकते हैं और जब हम नहीं कर सकते।

println(boolean x) 
println(char x) 
println(int x) 
println(long x) 
println(float x) 
println(double x) 
println(char x[]) 
println(String x) 
println(Object x) 
+1

कृपया इसे पढ़ें: http://meta.stackexchange.com/questions/5234/ –

उत्तर

9

PrintStreamSystem.out के इतने अतिभारित विधियाँ हैं।

+0

(ऑब्जेक्ट एक्स) क्या है? किसी भी प्रकार की वस्तुओं का एक टेम्पलेट? – OneZero

+1

@ user1229490 यह जो कुछ भी आप पास करते हैं, वह 'Object.toString()' विधि का उपयोग करेगा। – Jivings

3

स्थिर सदस्य वर्ग System की out एक PrintStream जो हस्ताक्षर println(int) के साथ एक विधि है:

13

कारण आप एक पूर्णांक के साथ println को कॉल कर सकते हैं क्योंकि विधि अधिभारित है। मूल रूप से println नामक एक से अधिक विधि हैं और उनमें से एक पूर्णांक स्वीकार करते हैं। (System.out एक PrintStream है) PrintStream के लिए एपीआई पर PrintStream

+0

संदर्भ के रूप में जेडीके 1.4.2 क्यों? हम पहले से ही जेडीके 7 और 8 में रिलीज हो चुके हैं। शायद जेडीके 6 या 7 का संदर्भ बेहतर होगा। –

+1

@edalorzo आप सही हैं। मैंने जवाब अपडेट किया है। – MAV

3

देखो:

यहाँ एक नजर डालें। यह तरीकों println(), println(boolean), println(char), println(char[]), println(double), println(float), println(int), println(long), println(Object) और println(String) है। इसे method overloading कहा जाता है (विधि ओवरलोडिंग पर अनुभाग को खोजने के लिए नीचे स्क्रॉल करें)।

आप एक पूर्णांक शाब्दिक से एक String बनाना चाहते हैं, तो आप इसे (String s = "123";) के आसपास उद्धरण डाल सकते हैं या का उपयोग Integer.toString (String s = Integer.toString(123);) या String.valueOf (String s = String.valueOf(123);)।

1

मुझे लगता है कि प्रिंट प्रिंट नहीं करना है, जावा के पास प्रत्येक डेटाटाइप के लिए प्रिंटलॉन फ़ंक्शन है, इसलिए आप बूलियन, इनट्स, स्ट्रिंग्स, ect पर println को कॉल कर सकते हैं और यह सही फ़ंक्शन का चयन करेगा। बेशक आप एक स्ट्रिंग चर के लिए एक पूर्णांक असाइन नहीं कर सकते क्योंकि वे अलग-अलग प्रकार हैं।

संबंधित मुद्दे