当前位置: 代码迷 >> java >> 如何在我的方法中传递MyClass.class作为参数?
  详细解决方案

如何在我的方法中传递MyClass.class作为参数?

热度:26   发布时间:2023-08-02 10:50:44.0

我在代码中努力使用元素作为参数。

对于我的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如何做到这一点?

这应该工作。 注意,必须使用T引用时一个类型,并且any引用当Class<?>所要求值createQuery等方法。

private <T> void selectAllFrom(Class<T> any) {
    CriteriaQuery<T> query = builder.createQuery(any)
}
  相关解决方案