2010-04-01 12 views
5

क्या सामान्य स्रोतों का उपयोग करने के लिए कच्चे प्रकारों का उपयोग करने से जावा स्रोत कोड को स्वत: परिवर्तित करने का कोई तरीका/उपकरण है?ऑटो कच्चे प्रकारों के बजाय जेनेरिक का उपयोग करने के लिए जावा स्रोत को परिवर्तित करें

मैं कच्चे प्रकार के 677 संदर्भ के साथ कुछ विरासत कोड है:

ArrayList 47 
Vector  420 
Hashtable 61 
Enumeration 64 
Class  7 
Iterator 78 
TOTAL  677 

अब मैं मैन्युअल रूप से सामान्य प्रकार प्राप्त करेगा और बदलने के लिए कोड के माध्यम से दिखाई दे सकता है, लेकिन यह एक लंबा समय लग जा रहा है।

उत्तर

2

ग्रहण में 'अनुमानित सामान्य प्रकार' रिफैक्टरिंग टूल होता है (मुझे नहीं पता कि यह एक ही हिट में कई कक्षाओं को संसाधित करेगा या नहीं)।

सभी स्थानों पर जहां इस प्रतिस्थापन संभव है की पहचान करने के बाद पैरामिट्रीकृत प्रकार द्वारा सामान्य प्रकार के कच्चे प्रकार घटनाओं से बदलता है। उपलब्ध: प्रोजेक्ट्स, पैकेज, और प्रकार विकल्प: 'क्लोन मानें() रिसीवर टाइप' का एक उदाहरण देता है। अच्छी तरह से व्यवहार कक्षाएं आमतौर पर इस नियम का सम्मान करती हैं, लेकिन यदि आप जानते हैं कि आपका कोड इसका उल्लंघन करता है, तो बॉक्स को अनचेक करें।

'अनजान प्रकार के तर्क कच्चे (उल्लंघन करने के बजाए) छोड़ दें। यदि उदाहरण के तत्वों पर कोई बाधा नहीं है ArrayList ए, अनचेक करें इस बॉक्स में ग्रहण अभी भी एक वाइल्डकार्ड पैरामीटर प्रदान करेगा, ArrayList के साथ संदर्भ को प्रतिस्थापित करता है।

+2

पाया गया कि आप एक प्रोजेक्ट पर राइट-क्लिक कर सकते हैं और 'रिफैक्टर' मेनू के तहत इसे चुन सकते हैं। – Sam

1

इंटेलिजे में रिफैक्टर भी है। Generify। यह पांच साल पहले काफी हद तक काम करता था, इसलिए मुझे लगता है कि यह अब और भी बुरा नहीं है!

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

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