- /*
- *验证Arrays.asList()方法
- 总结:jdk1.5以后的新特性,可变参数,直接传递值与传递数组处理的机制不太相同
- 如果直接传递数组,基本类型数组将被视为一个对象而不会被解析成数组,如果直接
- 传递参数将能正常解析。因此传递基本类型数组时强烈建议转为其封装类对象的数组
- int ->Integer ,long->Long …………。(未对其封装)
- 还有楼主你那个问题API上直接写明了,是固定大小不能改变的List!至于为什么不能改变,多半是
- 由于底层是数组支持的,数组的长度是不可改变的,你可以改变数组的长度吗?
- */
- import java.util.*;
- class ArraysDemo
- {
- public static void main(String[] args)
- {
-
- //验证添加对象
- String[] strs = {"er","sdf","sdf"};
- //List<String> s = Arrays.asList("er","sdf","sdf");
- List<String> s = Arrays.asList(strs);
- System.out.println(s.size());//两个结果都是3
- //这个说明了如果你装的是对象
- //s.remove();结果报异常,API上说:返回一个受指定数组支持的固定大小的列表
-
- //验证添加字符或数字
- int[] arr = {1,5,7,4};
- int[] arr2 ={54,6};
- //char[] chs ={'d','x'};字符也是一样的,直接把数组本身装进去了,
- List s1 = Arrays.asList(arr,arr2);
- System.out.println(s1.size());//验证传递arr的结果为1!
- //如果装两个int数组的话,结果为2,说明你传进去的数组是以数组的形式存的!这是重点
- /*
- System.out.println(Arrrays.asList(1,5,7,4).size());
- //这个结果为4,这个事直接装的四个Integer对象
- */
- }
- }
复制代码 |