| Author |
use generic type as class
|
Leandro Coutinho
Ranch Hand
Joined: Mar 04, 2009
Posts: 415
|
|
hello!
I would like to be able to instantiate the class, without the needing to pass a parameter. I think that maybe it is possible, because T represent this class.
Something like this:
Is there a way to do this?
|
 |
Ninad Kulkarni
Ranch Hand
Joined: Aug 31, 2007
Posts: 774
|
|
Leandro
Please give details so that we understand your question.
I have seen your code but code will not compile.
|
SCJP 5.0 - JavaRanch FAQ - Java Beginners FAQ - SCJP FAQ - SCJP Mock Tests - Tutorial - JavaSE7 - JavaEE6 -Generics FAQ - JLS - JVM Spec - Java FAQs - Smart Questions
|
 |
Jesper de Jong
Java Cowboy
Bartender
Joined: Aug 16, 2005
Posts: 12907
|
|
No, you cannot do that the way you proposed. Generics in Java have certain limitations, one of them is that you can't instantiate an object from a generic type with for example "new T()". Probably that's the reason why your class needs the Class parameter - so that it can create new instances of that class with: persistentClass.newInstance().
If you want to know all the details of Java generics and why "new T()" doesn't work, see Angelika Langer's Java Generics FAQ.
(The reason why new T() doesn't work is because of type erasure - see this from that FAQ for more info).
|
Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 7 API documentation
Scala Notes - My blog about Scala
|
 |
Leandro Coutinho
Ranch Hand
Joined: Mar 04, 2009
Posts: 415
|
|
Thank you!
Great link.
|
 |
 |
|
|
subject: use generic type as class
|
|
|