java - Generic class references -



java - Generic class references -

this question has reply here:

is list<dog> subclass of list<animal>? why aren't java's generics implicitly polymorphic? 11 answers

please next code. why error thrown though integer inherited number , why same case of error not there when '? extends number' used.

public class testgeneric { public static void main(string[] args) { class<integer> classint = int.class; class<number> classnum1 = int.class;// error type mismatch: cannot convert // class<integer> class<number> class<? extends number> classnum2 = int.class; } }

you not have co-variance (if word looking for) in generic types.

they need match exactly.

class<number> can assigned number.class.

if want allow subclassed (or superclasses) have utilize extends or super.

class<? extends number> can take integer.class (among others, such long.class or number.class).

class<? super number> can take number.class or object.class.

this different methods of generic type beingness able work on subclass instances.

for example, can add together integer list<number>, not create list<number> assignable list<integer> (or vice versa).

an object instance can used superclass required, generic type cannot.

java

Comments

Popular posts from this blog

xslt - DocBook 5 to PDF transform failing with error: "fo:flow" is missing child elements. Required content model: marker* -

mediawiki - How do I insert tables inside infoboxes on Wikia pages? -

Local Service User Logged into Windows -