【发布时间】:2021-08-16 02:04:34
【问题描述】:
我有一个 T 类型的对象(通用)
public <T> void method1(T object) {...}
我想对该对象使用方法 getClass()。
Class<? extends T> clazz = object.getClass();
但编译器显示错误:
Incompatible types.
Found: 'java.lang.Class<capture<? extends java.lang.Object>>'
Required: 'java.lang.Class<? extends T>'
如何更正我的代码以便编译器能够编译,并且 clazz 对象将具有泛型类型 T 或 不强制转换?
【问题讨论】:
-
你的方法需要接受一个额外的
Class<? extends T>参数。