问题描述
我在代码中努力使用元素作为参数。
对于我的Hibernate API调用,我需要指定查询结果映射到的类。 我没有做很多非常相似的小方法,而是想将其干燥。
我在这里有此代码:
private void selectAllFrom(MyClass myclass) {
    CriteriaQuery<MyClass> query = builder.createQuery(Myclass.class);
}
 
  相反,我想将MyClass-Class作为通用参数并使用如下方法:
private void selectAllFrom(Class<T> any) {
    CriteriaQuery<Class<T>> query = builder.createQuery(Class<T>.class)
}
// usage: 
// selectAllFrom(MyClass.class)
 
  用Java如何做到这一点?
1楼
 
     这应该工作。 
     注意,必须使用T引用时一个类型,并且any引用当Class<?>所要求值createQuery等方法。 
private <T> void selectAllFrom(Class<T> any) {
    CriteriaQuery<T> query = builder.createQuery(any)
}