我有点泛型的跛脚,但我不知道,有以下类:是否可以获得泛型参数的类?
static class SomeClass<T> {
private T value;
public SomeClass(T value) {
T.class?
this.value = value;
}
public T getValue() {
return value;
}
}
如果打了个比方: SomeClass<String> stringer = new SomeClass<String>("Hello");
是否有可能得到String.class
(或任何T公司将是)在构造函数?
好了,等一下,我要解释一下,我试图解决
实际的问题是,我使用OrmLite和我有很多的DAO对象,像这样的:
public class PostDAO extends BaseJdbcDao<Post, String> {
public PostDAO(DatabaseType databaseType) {
super(databaseType, Post.class);
}
}
对于Domain
是:
public class DomainDAO extends BaseJdbcDao<Domain, String> {
public DomainDAO(DatabaseType databaseType) {
super(databaseType, Domain.class);
}
}
等。我想这些参数化,所以,我只能有一个:
public class DAO<K, V> extends BaseJdbcDao<K, V> {
public DAO(DatabaseType databaseType) {
super(databaseType, (WHAT HERE?));
}
}
,但我被困在what here
部分)
你为什么想要上课? – pakore 2010-07-01 09:21:57
你不能'new SomeClass(“Hello”);'在'静态'类btw。 –
pakore
2010-07-01 09:22:42
@pakore:也许你不能,但我可以。 ;)认真:对我来说工作正常,为什么不呢? [派生类从通用T]的 – musiKk 2010-07-01 09:39:19