我以为我了解类(对象)类的概念,但是在 Java API 中阅读它时,我发现了这一点:
原始 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void 也表示为 Class 对象。
我以为我了解类(对象)类的概念,但是在 Java API 中阅读它时,我发现了这一点:
原始 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void 也表示为 Class 对象。
autoboxing上的现象unboxing就是你要找的。在 java 中有一些用于舒适目的的原语。他们都有wrapper课。它们是:Integer、Double等Boolean。
自动装箱负责将primitives 包装成Wrappers 每次Wrapper预期但 aprimitive被传递。另一方面,拆箱来了。当它是primitive预期但Wrapper通过的拆箱将设法提取正确的值。
这里描述得很好
例子:
Integer one = new Integer(1);
int i = one.intValue();
void printInteger(int i) {
System.out.println(i);
}
printInteger(one);
不会抛出异常 -one将被拆箱int并打印。
不同之处在于原语只是内存区域,当您使用密钥时,您告诉编译器如何“查看”这些区域。而对应的对象(例如 Integer 或 Character)是具有处理这些类型的方法的对象,它们被视为对象