java - 是否可以获得通用参数的类?

标签 java generics ormlite

我对泛型有点蹩脚,但我想知道,对于下面的类:

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上部分)

最佳答案

关于:

public class DAO<K, V> extends BaseJdbcDao<K, V> {
 public DAO(DatabaseType databaseType, Class databaseClass) {
  super(databaseType, databaseClass);
 }
}

关于java - 是否可以获得通用参数的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3156453/

相关文章:

java - 为什么这会发出未经检查的强制转换警告?

c# - 是否可以在 C# 中使用 "implicit"泛型类型参数

java - 为什么 Gson Preconditions 在这种情况下会失败?

java - 将对象列表保存到 ORMLite 数据库

java - 如何仅从第一个空格出现的 Java 中拆分字符串

java - ANR(应用程序无响应)在我不明白的 Google Play 控制台中崩溃

generics - 在 Rust 中,我需要什么特征来比较泛型和整数

android - 如何将原始类型(String)的集合存储到数据库中

java - 从二进制字符串转换时出现 NumberFormatException

java - 如何使用 jdbc 连接从数据库中检索数据并将其显示在 jsp 文本字段中