Java 类#可通过Object和double从中指定
我在看电视 为什么Java 类#可通过Object和double从中指定,java,reflection,Java,Reflection,我在看电视 为什么Object.class.isAssignableFrom(double.class):打印到false,而f打印到100.0 public class IsAssignableFrom { public static void main(String[] args) { double d = 100; Object o = null; System.out.println("Object.class.isAssigna
Object.class.isAssignableFrom(double.class):
打印到false
,而f
打印到100.0
public class IsAssignableFrom {
public static void main(String[] args) {
double d = 100;
Object o = null;
System.out.println("Object.class.isAssignableFrom(double.class): " +
Object.class.isAssignableFrom(double.class));
Object f = d;
System.out.println("f: " + f);
}
}
让我们运行测试
>javac IsAssignableFrom.java && java -cp . IsAssignableFrom
f: 100.0
Object.class.IsAssignableFrom(d): false
double
是一种基本类型。基本类型没有通用的超类型。换句话说,Object.class
并不表示double.class
的超类
装箱转换可应用于
double
类型的值,并将其转换为double
类型的值,该类型是对象的子类型。这就是为什么d
可以分配给f
能够使用对象f=d
并不意味着对象
是double
的超类型(这是的结果可从
确认),它只是意味着自动装箱将添加必要的代码,以便为您将double
转换为double
。