हां समस्या 1.5 और उससे ऊपर के लिए दूर हो जाती है। ऐसा लगता है कि सवाल पूरी तरह से संबोधित नहीं किया गया है, हालांकि, अगर कोई इस प्रश्न पर आता है तो मैं अपना 2 सेंट जोड़ रहा हूं। यह मुख्य रूप से प्रश्न के इस हिस्से के बारे में है:
मैंने एक सामान्य सरणी सूची नहीं बनाई है; मैंने तारों की सरणी सूची बनाई है।
त्रुटि संदेश का उल्लेख किया:
> प्रकार ArrayList सामान्य नहीं है; यह पैरामिट्रीकृत तर्क के साथ नहीं किया जा सकता < स्ट्रिंग >
> सिंटैक्स त्रुटि, पैरामिट्रीकृत प्रकार ही उपलब्ध हैं, तो स्रोत स्तर 5,0
यह वास्तव में क्या मतलब है, है जावा 1.5 के बाद से हम प्रकार का उपयोग कर सकते है पैरामीटर भी (जहां एक मान मानकों का उपयोग करने के लिए इस्तेमाल किया गया था)। जेडीके 1.5 जेनेरिक प्रस्तुत करता है, जो हमें प्रकारों (या पैरामीटर प्रकार) पर सार तत्वों की अनुमति देता है।
कक्षा डिजाइनर जेनेरिक परिभाषा में प्रकारों के बारे में हो सकते हैं। ArrayList कार्यान्वयन के रूप में नीचे होगा:
public class ArrayList<E> implements List<E> .... {
// Constructor
public ArrayList() {...}
// Public methods
public boolean add(E e) {...}
public void add(int index, E element) {...}
public boolean addAll(int index, Collection<? extends E> c) {...}
public abstract E get(int index) {...}
public E remove(int index) {...}
...
}
कहाँ ईकिसी भी प्रकार स्ट्रिंग या पूर्णांक आदि इसलिए नाम सामान्य ArrayList की तरह हो सकता है।
उपयोगकर्ताओं वस्तु इन्स्टेन्शियशन या विधि मंगलाचरण जो नीचे की तरह इस उदाहरण में किया गया था के दौरान प्रकार में विशिष्ट हो सकता है:
ArrayList<String> list = new ArrayList<String>();
(कौन सा उपरोक्त मामले में भ्रम की स्थिति थी, अगर मैं गलत नहीं हूँ: -))) जेनरिक के उपयोग (यदि आवश्यक की
उदाहरण:
// Declaring a DAO layer
public interface IMasterAbstractDao<E, I> {
public E findById(I id) {...}
public void delete(E e) {...}
public List<E> findByCriteria(Criterion criterion) {...}
}
कहाँ ई इकाई टी है हाँ वापस आ गया। इसका उपयोग सामान्य मॉडल बनाने में परिभाषित सभी मॉडल beans के लिए किया जा सकता है।
उम्मीद है कि इससे मदद मिलती है।
Reference: Java Programming Tutorial - Generics
आप जावा संस्करण कम से कम 5. – kosa