我本以为我理解类(对象)类的概念,但在Java API中阅读了它,我发现:
原始Java类型(boolean、byte、char、short、int、long、,float和double),以及关键字void也表示为Class对象。
autoboxing
和unboxing
上的现象正是您想要的。在java中,有一些基元是为了方便起见。它们都有wrapper
类。它们是:Integer
、Double
、Boolean
等
Autoboxing负责在每次预期Wrapper
但通过primitive
时将primitive
s包装成Wrapper
s。另一方面,开箱就来了。当它是预期的primitive
,但通过了Wrapper
时,开箱将设法提取正确的值。
在这里描述得很好
示例:
Integer one = new Integer(1);
int i = one.intValue();
void printInteger(int i) {
System.out.println(i);
}
printInteger(one);
不会引发异常-one
将被开箱到int
并打印。
不同之处在于,基元只是内存区域,当您使用keyworks时,您会告诉编译器如何"查看"这些区域。而与对应的对象(如Integer或Character)是具有处理这些类型的方法的对象,它们被视为对象