2011-12-13 9 views
5

क्या सबसे अच्छा तरीका है:जेनिक्स का उपयोग कर जावा में संग्रह को तुरंत कैसे चालू करें?

Set<String> myStringSet = new HashSet(); 

या इसके बाद के संस्करण की

Set<String> myStringSet = new HashSet<String>(); 

कोई नहीं?

क्या इससे कोई फर्क पड़ता है?

+0

चेक इस सवाल और स्वीकार किए जाते हैं जवाब: http://stackoverflow.com/questions/4166966/what-is-the-point-of-the-diamond-operator-in-java-7 –

+2

जावा में एसई 7 (अभी बाहर!) ' सेट करें MyStringSet = new हैशसेट <>(); ' –

उत्तर

5

बाद:

Set<String> myStringSet = new HashSet<String>(); 

अधिक जानकारी के लिए the Java documentation on generic types देखें।

+1

बस अनचाहे संस्करण का उपयोग करना शुरू करें ... जब आपको लगता है कि आपको परेशान करने वाले सभी कष्टों का एहसास है, तो आप टाइप किए गए संग्रह का उपयोग करना शुरू कर देंगे ! –

3

तुम हमेशा सामान्य प्रकार

Set<String> myStringSet = new HashSet<String>(); 

साथ संग्रह को प्रारंभ नहीं तो आप एक चेतावनी

Type safety: The expression of type HashSet needs unchecked conversion 
to conform to Set <String>. 
0

दूसरा सबसे अच्छा और सबसे सुरक्षित तरीका है आगे बढ़ने के लिए मिल जाएगा चाहिए।

Set<String> myStringSet = new HashSet(); संकलित करेगा और ...uses unchecked or unsafe operations. चेतावनी देगा। यह जावा 5 और बाद में आता है, यदि आप जेनेरिक टाइप विनिर्देशकों के बिना संग्रह का उपयोग कर रहे हैं (HashSet()HashSet<String>() के बजाय)।

सामान्य प्रकार विनिर्देश को छोड़कर संकलक को यह जांचने से अक्षम कर देगा कि आप जेनिक्स का उपयोग करके HashSet को एक प्रकार-सुरक्षित तरीके से उपयोग कर रहे हैं।

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

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