java - why Class class need to be Generic? -


for example:

class<string> c = string.class; 

i think, class object of string may have method know, it's act on string type.

so, type param no need.

if you're asking why class generic, it's type-safe generic methods can accept class parameter provide type bound.

consider enumset. way create empty enumset of myenum use noneof:

enumset<myenum> set = enumset.noneof(myenum.class) 

since class generic, compiler knows static noneof method returning enum<myenum>. idiom used extensively in persistence , remoting apis, such jpa type-safe queries , spring data projections, provide class literal @ compile time, , compiler understands api returning instance of class.

an example in standard jre: legacy resultset#getobject(int columnindex) method returns object must cast. new resultset#getobject(int columnindex, class<t> type) tells jdbc driver want data in column converted specific class and compiler you'll getting type method, don't need cast.


Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -