gpt4 book ai didi

java - 为什么 ReflectionChild.class.isInstance(Class.class) 不是真的?

转载 作者:行者123 更新时间:2023-11-30 06:15:36 25 4
gpt4 key购买 nike

为什么 ReflectionChild.class.isInstance(Class.class) 不是真的?

我们在反射中知道 Class.class.isInstance(Class.class) 是真的。现在请看下面的代码片段。

   ReflectionChild ch = new ReflectionChild(); //Take random class

if(ch.getClass()==ReflectionChild.class){
System.out.println("ch.getClass()==ReflectionChild.class");
}

System.out.println(ReflectionChild.class.getClass());
System.out.println(Class.class);

if(ReflectionChild.class.getClass()==Class.class){
System.out.println("ReflectionChild.class.getClass()==Class.class");
//System.exit(0);
}
if(ReflectionChild.class.isInstance(Class.class)){
System.out.println("true");
//System.exit(0);
}else{
System.out.println("false");
}

输出是:-

ch.getClass()==ReflectionChild.class  // 1st SYSOUT

class java.lang.Class // 2nd SYSOUT

class java.lang.Class // 3rd SYSOUT

ReflectionChild.class.getClass()==Class.class //4th SYSOUT

false // 5th SYSOUT

根据上面第一个四个 SYSOUT 的行 ReflectionChild.class.isInstance(Class.class) 应该是真的。但对我来说,输出是错误的。

谁能解释一下?

最佳答案

Class.classClass 的实例,而不是 ReflectionChild
因此,isInstance() 返回 false。

关于java - 为什么 ReflectionChild.class.isInstance(Class.class) 不是真的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28484947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com