java“由该类对象建模的类的类型”是什么意思?
T - the type of the class modeled by this Class object. For example, the type of String.class is
Class<String>
. UseClass<?>
if the class being modeled is unknown.
“由该类对象建模的类的类型”的确切含义是什么?对不起,这件事对我来说很奇怪,我不太明白
你可以在下面搜索框中键入要查询的问题!
T - the type of the class modeled by this Class object. For example, the type of String.class is
Class<String>
. UseClass<?>
if the class being modeled is unknown.
“由该类对象建模的类的类型”的确切含义是什么?对不起,这件事对我来说很奇怪,我不太明白
# 1 楼答案
您可能知道,类表示(换句话说,模型)事物。
String
表示一组字符,FileInputStream
表示文件输入流,LocalDateTime
表示没有时区的日期和时间,等等如果您能够理解这一点,那么您应该能够理解,有一个类表示“类”的概念,称为
Class
。这个类是泛型的它的单个泛型参数是它所表示的类<例如,Class<String>
表示类String
,Class<LocalDateTime>
表示类LocalDateTime
。这就是文档的意思让我们看一个具体的例子:
在第一行中,我检索了
Class<String>
(或Class<String>
对象)的实例。现在变量clazz
内的对象表示String
类!那有多酷?我们可以通过在clazz
上调用getName
来打印String
类的名称,如第二行所示。你也可以用clazz
做其他很酷的事情,比如看它实现了什么接口,它的超类是什么,它有什么方法等等。这就是我所说的“对象代表String
类# 2 楼答案
T
类型参数是泛型参数,请参见https://docs.oracle.com/javase/tutorial/java/generics/。在Class<T>
的情况下,它是类的实例类型。从javadoc中可以看到,此参数用于多种方法:T newInstance()
,T cast()
,Constructor<T> constructor()
。 例如,您可以从Class<T>
对象实例化T
类型的新实例:或投给该类: