我以为我了解类(对象)类的概念,但是在 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
。
自动装箱负责将primitive
s 包装成Wrapper
s 每次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)是具有处理这些类型的方法的对象,它们被视为对象