मैं जावा प्रकार मिटा नियमों के बारे में पूछना चाहता हूं।जावा जेनेरिक प्रकार मिटा
हम वर्गों है:
public class Shape{}
public class Circle extends Shape{}
public class Base<T extends Shape>{
T x;
public void setX(T t){}
}
public class MainClass(){
public static void main(String... _arg){
Base<? extends Shape> bs = new Base<Circle>();
bs.setX(new Circle()); // <- compilation problem
}
}
क्या आप मुझे बता सकते हैं क्यों setX बुला() विधि संकलन समस्या का कारण बनता है?
'? सुपर आकार 'वहां काम करेगा। "निर्माता विस्तार, उपभोक्ता सुपर" –
@MichaelMyers: एयू contraire: http://ideone.com/TYr10C। 'बेस सुपर आकार> '' आकार 'के किसी भी * सुपरटेप * के' बेस 'को स्वीकार करता है। –