जब मैं जावा में थ्रेड्स अवधारणा से निपट रहा था, मैंने थ्रेड.जावा स्रोत फ़ाइल देखी है। मैंने देखा कि setName()
विधि "name[]"
नामक एक वर्ण सरणी को स्ट्रिंग निर्दिष्ट करती है। जावा में स्ट्रिंग डेटा प्रकार की एक विशेषता है, फिर वे चरित्र सरणी का उपयोग क्यों कर रहे हैं।क्यों थ्रेड क्लास में setName एक वर्ण सरणी को असाइन करता है? स्ट्रिंग क्यों नहीं?
स्रोत फ़ाइल में ऐसा initialised है,
private char name[]; // why not "private String name;"
setName()
विधि में,
public final void setName(String name) {
checkAccess();
this.name = name.toCharArray();
}
कृपया मेरी मदद करो। अग्रिम में धन्यवाद।
क्या आप इसे कुछ संदर्भ या कुछ के साथ वापस कर सकते हैं? मुझे 'Thread.java' या' Thread.c' ('मूल' पेड़ में) में कुछ भी दिखाई नहीं देता है जो नाम को मूल कोड तक पहुंच योग्य बनाता है। यदि इसे मूल कोड से एक्सेस किया गया था, तो मैं अंत में एक शून्य चरित्र देखने की उम्मीद करता हूं। यह अटकलों की तरह लगता है। –
यह बहुत अच्छा प्रतिक्रिया था, धन्यवाद। क्या मैं विचार कर सकता हूं, यह एक कारण है, जावा शुद्ध वस्तु उन्मुख भाषा नहीं है? – kik
@kik: ** संपूर्ण ** "जावा एक शुद्ध ओओ भाषा है" प्रश्न ** बेकार ** है क्योंकि कोई भी जिसने कभी यह नहीं पूछा वह एक "शुद्ध ओओ भाषा" की एक उपयोगी परिभाषा प्रदान करने में सक्षम था। मुझे गलत सिद्ध होना अच्छा लगेगा, लेकिन अब तक ऐसा नहीं हुआ है। –