2012-07-03 27 views
8

में जेनेरिक प्रकारों के लिए स्वत: पूर्ण "प्रभावी इंटरफेस द्वारा ऑब्जेक्ट का संदर्भ लें" एक अच्छा अभ्यास है, जैसा कि प्रभावी जावा में उल्लिखित है। इसलिए उदाहरण के लिए मैं अपने कोड मेंग्रहण

List<String> al = new ArrayList<String>(); 

से अधिक
ArrayList<String> al = new ArrayList<String>(); 

पसंद करते हैं। एक कष्टप्रद बात यह है कि अगर मैं ArrayList<String> al = new टाइप करता हूं और फिर ग्रहण में Ctrl + स्पेस दबाता हूं तो मुझे ArrayList<String>() प्रोपोस्टल के रूप में मिलता है। लेकिन अगर मैं सूची अल = नया टाइप करता हूं और फिर Ctrl + Space दबाता हूं तो मुझे अज्ञात आंतरिक वर्ग को परिभाषित करने के लिए केवल प्रोपोस्टल मिलेगा, लेकिन new ArrayList<String>() जैसे प्रोपोस्टल नहीं, 99% केस क्या है, या उदाहरण के लिए नया Vector<String>()

प्रश्न: क्या उप-वर्ग सामान्य प्रकार के प्रोपॉस्टल के रूप में प्राप्त करने का कोई तरीका है?

+1

को यह सुझाव देने के लिए "उपयोग अमरूद और भी मुखर हो' Lists.newArrayList() ' –

+1

निश्चित रूप से यह अच्छा है, लेकिन वास्तव में मैं propostal के रूप में सभी उपवर्गों प्राप्त करना चाहते हैं, न केवल सूचियों के लिए। – AvrDragon

+1

@ जोनस्केट आप एक नई निर्भरता जोड़ देंगे (मेरा मतलब है कि आप इसे किसी भी तरह से जोड़ना चाहते हैं, लेकिन मान लीजिए नहीं) केवल 'नया ऐरेलिस्ट <>()' से 'Lists.newArrayList()'? –

उत्तर

9

मैं सुझाव देता हूं कि पहले अभिव्यक्ति लिखना और फिर Ctrl+2, L पर क्लिक करना। फिर आप चर का नाम दे सकते हैं, उसके बाद Enter, Down, Enter। किया हुआ।

+0

लेकिन ऐसा लगता है कि चर के प्रकार में 'सूची' के बजाय 'ArrayList' के रूप में भरता है (उदाहरण के लिए आपको एक ही परिणाम मिलते हैं) –

+0

@ पॉलबेलोरा: आपने कुंजी अनुक्रम को याद किया, जो विविधता के लिए सुझाए गए प्रकारों की सूची में दूसरा सुझाव चुनता है ई। और यह सूची होनी चाहिए, जहां ArrayList पहले होगा। – Bananeweizen

+0

@ बानन्यूइज़ेन - आप सही हैं मुझे याद आया - धन्यवाद। +1 –

2

ऐसे कोड लिखने की आपकी व्यक्तिगत शैली के आधार पर, यह @ बेन शूलज़ के उत्तर से प्रेरित एक विकल्प है। आप आम तौर पर की तरह

al = new ArrayList<String>(); 

पहला काम लिखना है तो आप Ctrl+1 का उपयोग त्वरित सुधार "स्थानीय चर बनाएँ" शुरू करने के लिए कर सकते हैं। Tab मारना अब टाइप चयन को सीधे खोल देगा जहां आप List प्रकार का चयन करते हैं।

2

जेडीके 1.7 को बराबर के दाईं ओर जेनेरिक प्रकार निर्दिष्ट करने की आवश्यकता नहीं है। पसंद -> जावा? -> संकलक 1.6

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

  • कोई संबंधित समस्या नहीं^_^