तीन कुछ हद तक बराबर हैं:
List<String> list = new ArrayList<>();
ऊपर में, आप एक ऐसा वैरिएबल List
इंटरफ़ेस जो String
तत्वों में शामिल होंगे, और ठोस वर्ग ArrayList
साथ यह दृष्टांत लागू करता है की घोषणा कर रहे हैं। इसके अलावा, आप जावा 7 के नए हीरे सिंटैक्स का उपयोग कर रहे हैं, बेटे को आपको <>
के बीच String
लिखना नहीं है।
ArrayList<String> list = new ArrayList<String>();
ऊपर में, आप ठोस वर्ग ArrayList
के एक चर जो String
तत्वों में शामिल होंगे, और ठोस वर्ग ArrayList
"पारंपरिक" वाक्य रचना जो जनादेश का उपयोग करके इसे का दृष्टांत है कि आप String
प्रकार निर्दिष्ट घोषणा कर रहे <>
के बीच।
ArrayList<String> list = new ArrayList<>();
ऊपर में, आप ठोस वर्ग ArrayList
जो String
तत्वों में शामिल होंगे, और ठोस वर्ग ArrayList
साथ यह दृष्टांत के एक चर घोषणा कर रहे। इसके अलावा, आप जावा 7 के नए हीरे सिंटैक्स का उपयोग कर रहे हैं, बेटे को आपको <>
के बीच String
लिखना नहीं है।
ध्यान रखें कि हीरा सिंटैक्स (<>
) जावा के पिछले संस्करणों के लिए केवल जावा 7 और ऊपर काम करेगा, आप पारंपरिक वाक्यविन्यास (<the-type>
) जेनरिक्स को तत्काल बनाने के लिए फंस गए हैं।
अंतिम दो रूप पूरी तरह से समकक्ष हैं; पहला फॉर्म थोड़ा अलग है क्योंकि आप यह निर्दिष्ट कर रहे हैं कि list
वैरिएबल List
प्रकार है और ArrayList
टाइप नहीं है - और यह पसंदीदा फ़ॉर्म है, क्योंकि अच्छी वस्तु-उन्मुख प्रथाओं का निर्देश है कि आपको program to an 'interface', not an 'implementation' होना चाहिए।
स्रोत
2012-01-15 14:11:44