说我有一个像下面这样的课程
public class AtomEntryHandler implements ConsumingHandler<AtomEntry>
{
...
}
Run Code Online (Sandbox Code Playgroud)
是否可以从AtomEntryHandler.class的类对象获取类对象AtomEntry.class?
我认为由于擦除不可能,但朋友说是的.
我正在创建一个MethodPointer类来模拟来自C++的函数指针的功能.起初,我只用Objects 做了一切,但后来我想到了 - 为什么不把它变成真正的通用?
问题来自于此构造函数,它试图使用签名调用另一个构造函数MethodPointer(Class<T> clazz, String methodName, Class<?> ... paramClasses):
public MethodPointer(T object, String methodName, Class<?> ... paramClasses) {
this(object.getClass(), methodName, paramClasses);
this.object = object;
}
Run Code Online (Sandbox Code Playgroud)
我认为这可以正常工作,但我收到以下编译器错误:
The constructor MethodPointer<T>(Class<capture#1-of ? extends Object>,
String, Class<?>[]) is undefined
Run Code Online (Sandbox Code Playgroud)
所以,困惑,我这样做了:
public MethodPointer(T object, String methodName, Class<?> ... paramClasses) {
this((Class<T>) object.getClass(), methodName, paramClasses);
this.object = object;
}
Run Code Online (Sandbox Code Playgroud)
它现在编译,但我收到以下警告:
Unchecked cast from Class<capture#1-of ? extends Object> to Class<T>
Run Code Online (Sandbox Code Playgroud)
我想问题是我不明白是什么Class<capture#1-of ? extends Object>意思.我认为,因为T从 …