मैं चेनिंग का उपयोग कर हैश टेबल के लिए डेटा संरचना लिखने की कोशिश कर रहा हूं। जब मैं नेस्टेड क्लास से "स्थिर" कीवर्ड को हटा देता हूं, तो मुझे त्रुटि मिलती है कि "अलग चार्जिंग नोड का जेनेरिक सरणी नहीं बना सकता"? उस लाइन पर जहां मैं नए का उपयोग करके एचएमएपी करने के लिए स्मृति आवंटित करता हूं।जेनेरिक बाहरी क्लास के लिए, मुझे नेस्टेड क्लास स्थैतिक घोषित करने की आवश्यकता क्यों है?
स्थिर कीवर्ड के साथ यह ठीक काम करता है। क्या कोई भी यहां कीवर्ड की महत्व का महत्व बता सकता है और इससे क्या अंतर आता है? मैं ऑब्जेक्ट की सरणी बना रहा हूं, फिर यह त्रुटि (ग्रहण) में जेनेरिक सरणी कैसे दिखाता है?
public class SeparateChaining<Key,Value> {
private int m;
private Node[] hmap;
private int n;
public SeparateChaining()
{
m=5;
n=0;
//error here on removal of static keyword from the node class declaration
hmap=new Node[m];
}
private ____ class Node //works fine with static. Otherwise shows error
{
private Object key;
private Object value;
private Node next;
public Node(Object k, Object v)
{
key=k;
value=v;
}
}
धन्यवाद
'कुंजी' का प्रकार 'कुंजी 'नहीं होना चाहिए और' मान' का प्रकार 'मान' होना चाहिए (ऑब्जेक्ट' नहीं)? और कन्स्ट्रक्टर पैरामीटर के लिए वही? – Dukeling