java - 理解类<?>

标签 java android generics

我遇到了这段代码:

public class RestfulAdage extends Application {
  @Override
  public Set<Class<?>> getClasses() {
    Set<Class<?>> set = new HashSet<Class<?>>();
    set.add(Adages.class);
    return set;
  }
}

我不明白 Class<?>意思。

最佳答案

Class<?>指一类未知类型。该符号使用 unbounded generic这对可以添加到集合中的类的类型没有任何限制。例如以下将不起作用

Set<Class<String>> set = new HashSet<Class<String>>();
set.add(Adages.class); // type not allowed

关于java - 理解类<?>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21780103/

相关文章:

java - 为什么java没有直接的内存管理工具?

使用 OpenGL 处理 Android 相机帧

java - 显示资源文件夹中的所有图像

generics - 使用 "any of"而不是 "all of"的 Kotlin 通用约束

java - 使用带有 for 循环整数的堆栈 - 需要使用任意值

java - Eclipse Tomcat 构建发布速度慢

c# - 绑定(bind)泛型方法委托(delegate)时出错 - 签名或安全透明度

数组和单个项目通用支持的 Swift 通用问题

java - Java ArrayList 中的反转行

android - 获取所有 Android 设备的外部 SD 卡特定文件夹路径