我正在读一本名为"两个学期的Java"的书,我真的不明白包装类和自动装箱.
你能用一些代码向我解释一下吗?
这真的很困扰我:
Object [] anArray = new Object[20];
anArray[0] = new Integer (37);
Run Code Online (Sandbox Code Playgroud)
什么是Object指这里,是对象的类,并且代码为它创造一个数组?
我有了这本书,我有一点点了解,我只需要有人向我简要解释一下.如果我在线阅读,我会感到困惑.
包装类
包装类用于封装基本类型,以便可以针对它们定义操作.例如,ToString()方法在包装类中定义,但不能在基本类型上调用.
自动装箱
Autoboxing允许在原始类型和包装类型之间自动转换
使用Autoboxing
int i;
Integer j;
i = 1;
j = 2;
i = j;
j = i;
Run Code Online (Sandbox Code Playgroud)
没有Autoboxing
int i;
Integer j;
i = 1;
j = new Integer(2);
i = j.intValue();
j = new Integer(i)
Run Code Online (Sandbox Code Playgroud)
关于问题的第二部分,
Object [] anArray = new Object[20];
Run Code Online (Sandbox Code Playgroud)
定义的数组能够对象(在特定情况下它是20个对象),因此它允许在数组的每个位置保存任何对象,
anArray[0] = new Integer (37);
Run Code Online (Sandbox Code Playgroud)
和Integer是Object的子类.因此它允许将Integer保留在数组中