gpt4 book ai didi

java - 类#isAssignableFrom 与对象和双

转载 作者:行者123 更新时间:2023-11-30 07:04:42 27 4
gpt4 key购买 nike

我正在查看 java.lang.Class#isAssignableFrom来自 Java Reflection in Action .

为什么 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 是原始类型。原始类型没有通用的父类(super class)型。换句话说,Object.class 不代表 double.class 的父类(super class)。

装箱转换可以应用于 double 类型的值,并将其转换为 Double 类型的值,它是 Object 的子类型.这就是为什么 d 可以分配给 f

关于java - 类#isAssignableFrom 与对象和双,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27390649/

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