use*_*314 3 java generics integer object primitive-types
我知道可以将Integer对象添加到ArrayList类型中Integer.这对我来说很有意义.像这样:
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(new Integer(3));
Run Code Online (Sandbox Code Playgroud)
但为什么可以添加像int这样的原始数据类型而不是Integer?像这样:
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(3);
Run Code Online (Sandbox Code Playgroud)
为什么允许?
zw3*_*324 16
这叫做autoboxing.对于具有相应原语的类(例如,Long- > long,Integer- > int),Java将为您处理转换.
应该注意这种行为伴随着一些黑暗的角落:
null取消装入基元时,NullPointerException将抛出一个,这对于程序员来说可能是意外的,因为它看起来像一个基元抛出异常.| 归档时间: |
|
| 查看次数: |
1795 次 |
| 最近记录: |