Zin*_*inn 1 java primitive autoboxing
Object[]可以存储来自任何类的任何对象,因为Java中的每个类都会扩展java.lang.Object.
我不认为原语会延伸Object,为什么我们可以将它们存储起来如下?
Object[] obj_arr = {1, 2, 1.2, 'a', false, new MyClass(), null};
Run Code Online (Sandbox Code Playgroud)
问题是为什么原语可以存储在Object数组中并且在上面的代码中是否发生了自动装箱?
原始类型被自动装入它们各自的包装器类型中,因此例如:1变为,Integer.valueOf(1)并且这是Integer从中扩展的类的实例Object,因此它可以存储到Object[].对于其他基元也会发生同样的事情 - 实例Double,Character并Boolean用它们代替相应的原始值.
| 归档时间: |
|
| 查看次数: |
250 次 |
| 最近记录: |