java Arrays

import java.util.Arrays;
import java.util.List;

public class Tees {

	public static void main(String[] args) {

		Integer[] a = { 1, 2 };
		List<Integer> ll = Arrays.asList(a);

		String[] array = { "Good", "Morning", "Hello", "2006" };
		List<String> list = Arrays.asList(array);

		int[] i = { 1, 2 };
		 List<int[]> f = Arrays.asList(i);
		 
		 System.err.println(f.size());
	}
}

int[] i = { 1, 2 };
		 List<int[]> f = Arrays.asList(i);
		 
		 System.err.println(f.size());

奇怪的是Arrays 对于int这样的数组 并不是跟其它包装类或者非基础类型数组一样 直接转成对应的list,而是将其整体作为list的一项 构成一个长度为1的list



补充点特别的。关于
Integer [] a = {1,2,3,5,6};
		 List<Integer> l = Arrays.asList(a);
		 l.add(22);
		 System.out.println(l);


根据java核心的解释,asList返回的其实不是一个List,而是一个视图对象,带有访问底层的get set方法,但是若改变数组的大小的所有方法(例如与迭代器iterator相关的add和remove方法)都会抛出一个java.lang.UnsupportedOperationException。这点尤为重要

你可能感兴趣的:(java,F#)