问题描述
我在代码中努力使用元素作为参数。
对于我的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)
}