इस कोड स्निपेटसंग्रह में एक प्रकार का उप-वर्ग क्यों जोड़ना अवैध है?
//Creates a list of List numbers
List<List<Number>> num = new ArrayList<List<Number>>();
//Creates a list of List doubles
List<List<Double>> doub = new ArrayList<List<Double>>();
//List of doubles
List<Double> d = new ArrayList<Double>();
d.add(2.5);
d.add(2.6);
doub.add(d);
num.add(d);//This code will not compile
क्यों कि num.add (शक) अनुमति नहीं दी जाएगी दिया? List<List<Number>>
एक सुपर प्रकार का List<List<Double>>
नहीं है?
क्या आपका मतलब num.add (d) के बजाय num.add (d) था? – Alex
जेनेरिक प्रकारों को सटीक होना चाहिए जबतक कि आपने अनुमति नहीं दी है? उप प्रकार या 'विस्तारित करता है? सुपर 'सुपर प्रकार। –
मैंने कोड संपादित किया। उसका मतलब 'num.add (डी) 'था, अन्यथा सवाल दिलचस्प नहीं है! – romaintaz