我正在读一本名为“两个学期的Java”的书,我真的不明白包装类和自动装箱。
你可以用一些代码向我解释一下吗?
这真的让我很烦恼:
Object [] anArray = new Object[20];
anArray[0] = new Integer (37);
Object
在这里引用的是对象类,代码是为它创建数组吗?
我有了这本书,我有一点点理解,我只需要有人向我简要解释一下。如果我在线阅读,我会感到困惑。
答案 0 :(得分:6)
包装类
包装类用于封装基本类型,以便可以针对它们定义操作。例如,ToString()方法在包装类中定义,但不能在基本类型上调用。
<强>自动装箱强>
Autoboxing允许在原始类型和包装类型之间自动转换
使用自动装箱
int i;
Integer j;
i = 1;
j = 2;
i = j;
j = i;
没有自动装箱
int i;
Integer j;
i = 1;
j = new Integer(2);
i = j.intValue();
j = new Integer(i)
关于问题的第二部分,
Object [] anArray = new Object[20];
定义的数组能够具有对象(在特定情况下它是20个对象),因此它允许在数组的每个位置保存任何对象,
anArray[0] = new Integer (37);
和Integer是Object的子类。因此它允许将Integer保留在数组
中答案 1 :(得分:1)
Wrapper Classes用于将原始数据类型转换为对象,autoboxing意味着将原始数据类型隐式转换为等效的包装类对象,例如int将转换为Integer对象。
有关更多信息,请阅读以下文章:
答案 2 :(得分:0)
Object是一个类,anArray被定义为一个包含20个对象的数组。这允许您在数组的每个索引中粘贴不同类型的东西,而不是强制每个索引都是完全相同的类型。在示例中,索引0设置为整数,但索引1可以设置为布尔值,例如。