这是我编写的一个小代码,用于在运行时检查(它是否称为反射 API?不确定)类,但是我没有得到预期的结果。这是代码:
public class Outer {
public Outer(){
System.out.println("Outer Class");
}
public class Inner {
public Inner(){
System.out.println("Inner Class");
}
}
}
这也是我为运行代码和测试它而编写的主要函数......
public class ClassTest {
public static void main(String[] args) {
Outer outObj = new Outer();
Outer.Inner inObj = outObj.new Inner();
// Using Reflection
Class objTyp = inObj.getClass();
System.out.println(objTyp.getName());
//Testing Reflection
if(objTyp.getClass() == Outer.Inner.class){
System.out.println("Match classes!");
}else{
System.out.println("Mismatch classes!");
}
}
}
测试失败并出现以下错误:
if(objTyp.getClass() == Outer.Inner.class){ ^ 其中 CAP#1 是一个新的类型变量:CAP#1 extends Class from capture of ? 扩展 1 类错误
请帮我更正代码。我错过了什么?谢谢。