首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Class<?>在Java语言中是什么意思?

Class<?>在Java语言中是什么意思?
EN

Stack Overflow用户
提问于 2012-03-29 16:25:41
回答 4查看 146.5K关注 0票数 161

我的问题和上面一样。对不起,它可能是副本,但我找不到末尾有<?>的示例。

为什么不直接使用Class作为参数呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-29 16:30:04

Class是一个可参数化类,因此您可以使用语法Class<T>,其中T是一个类型。通过编写Class<?>,您可以声明一个Class对象,该对象可以是任何类型(?是通配符)。Class类型是一种包含有关类的元信息的类型。

通过指定泛型类型的特定类型来引用泛型类型始终是一种好的实践,通过使用Class<?>,您将遵守这种实践(您知道Class是可参数化的),但是您不会将参数限制为具有特定类型。

关于泛型和通配符的参考:http://docs.oracle.com/javase/tutorial/java/generics/wildcards.html

关于Class对象和反射的参考(Java语言用于自我反省的特性):https://www.oracle.com/technetwork/articles/java/javareflection-1536171.html

票数 137
EN

Stack Overflow用户

发布于 2012-03-29 16:30:18

在泛型中,未知类型由通配符"?“表示。有关官方示例,请阅读here

票数 5
EN

Stack Overflow用户

发布于 2012-03-29 16:28:18

这意味着一个具有anything (unknown)类型的Class。

您应该阅读java泛型教程来更好地理解它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9921676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档