将不同类型的对象放入数组中会抛出一个ArrayStoreException,同时将不同类型的对象放入一个ArrayList作品中.
据我所知,ArrayList是建立在数组之上的,为什么它在那里工作?它的实现方式不同吗?
我搜索但没有找到答案.
ArrayList有一个称为字段Object[] elementData,这意味着一个ArrayList支持添加各种对象引用的.这也意味着它ArrayList不支持原始类型,如intor char,而是支持它们的包装类Integer和Character.
除非您将它们声明为数组,否则数组通常用于单类型元素Object[].对于原始类型,没有通用数组,只有基元数组int[],char[]并且......
如果你创建一个Object []数组,并放入字符串,然后是一个日期对象,它将抛出异常
这是一个证明相反的代码,通过Object[]存储Strings和a来编译和执行没有问题Date:
Object[] objects = { "hello", "world", new Date() };
System.out.println(Arrays.toString(objects));
Run Code Online (Sandbox Code Playgroud)
输出(日期取决于您电脑的当前时间):
[hello, world, Tue Aug 12 00:09:00 GMT 2014]
Run Code Online (Sandbox Code Playgroud)
你可以在这里查看它.
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |