java - T 不理解 `java.lang.reflect.Type` 或 java.lang.Class<T>

标签 java generics

我想要我的 T类型为 java.lang.reflect.Type 的实例接口(interface)或 java.lang.Class<T>

我已经创建了如下示例代码

public class Car<T extends Type> {
private T t;
public Car(T t) {
    this.t = t;
}
public static void main(String[] args) {
    Car<String.class> car = new Car(String.class);//Error String.class
}
}

我知道在上面的例子中我可以使用 Class<T>而不是使用 T 。我想知道是否有任何方法可以让 T可以理解为Type的或 Class

最佳答案

而不是 Car<String.class> , 写 Car<Class<String>> .

String.class是一个对象。在尖括号之间,您必须指定一个类型。您要查找的类型是 Class<String> .

关于java - T 不理解 `java.lang.reflect.Type` 或 java.lang.Class<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12473583/

相关文章:

java - GWT 与 JDO 问题

function - 在 Scala 的 Actor 中传递函数并对其结果进行操作

java - 使用通配符调用泛型方法不会编译

c# - 在 C# 中将子类型列表作为父类(super class)型列表返回

java - 测试子字符串是否是字符串的一部分

java - Cordova 应用程序 - 在 Android 中使用铃声音量而不是媒体

java - <?> 和 <?> 和 <?> 之间有什么区别? Java 泛型中的 extends Object> ?

java - 为什么这段通用代码会出现编译错误

java - Jframe错误: Exception: “AWT-EventQueue-0” java.lang.NullPointerException

java - 创建具有依赖约束的多态对象的模式