// list长度为3
List list = Arrays.asList("a","b","c");
// list长度为1, 因为考虑1.4语法
String[] arr = {"a","b","c"};
List list = Arrays.asList(arr);
// 同时符合1.4和1.5的语法,此时会优先考虑1.4的语法
// 原因是有了新功能要保证以前的代码不出错,向后兼容
//将arr作为一个元素存入集合
Object obj = arr;
List list2 = Arrays.asList(obj); // 此时只符合1.5的语法,不符合1.4的语法,没有歧义
List list3 = Arrays.asList(new Object[]{arr}); // 优先考虑1.4,所以数组会拆开
// 基本数据类型数组只符合1.5的语法
int[] nums = {1,2,3};
list = Arrays.asList(nums);
System.out.println(list.size());
//List list = Arrays.asList("a","b","c");
String[] arr = {"a","b"};
List list = Arrays.asList(arr); // 按照1.4语法理解,取出数组的元素存入集合 按照5.0的语法理解,将数组直接存入集合
// 当版本出现歧义时, 虚拟机会优先考虑 低版本的 向下兼容
//List list1 = Arrays.asList((Object)arr);
List list1 = Arrays.asList(new Object[]{arr });
System.out.println(list);
System.out.println(list1.size());
int[] nums = {1,2,3,4};
List list3 = Arrays.asList(nums); // 只符合1.5的语法
System.out.println(list3.size());
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/12057.html