java - 如何堆叠 getClass()

标签 java

为什么第一行有效但第二行无效:

Class<? extends Class> c1                  = (new Object()).getClass().getClass();
Class<? extends Class<? extends Class>> c2 = (new Object()).getClass().getClass().getClass();

最佳答案

来自 Object.getClass 的 API 文档

The actual result type is Class where |X| is the erasure of the static type of the expression on which getClass is called.

所以(new Object()).getClass()将返回 Class<? extends Object> 。我们要调用getClass关于这一点。所以X将是Class ,这将为我们提供 Class<? extends Class> .

关于java - 如何堆叠 getClass(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13429141/

相关文章:

java - Hamcrest 测试一个 map 是否包含另一个 map 中的所有条目

java - Rabin-Karp 滚动哈希

java - Volley : MultipartRequest. getBody:IOException 写入 ByteArrayOutputStream

java - 如何在 Try-Catch 中继续使用 If 条件

java - Spring data rest合并补丁

java - "Software caused connection abort: recv failed"的原因

java - Java Webstart 应用程序的内存分配

java - Jsp中如何调用Java类

java - 如何使用 System.out 作为 java 方法中的参数

java - 秒表可抵抗系统时间变化