1、array和list互换
经常需要将array和list换来换去,得用到以下两个方法:
array-〉list
String[] arr = new String[] {"a", "b"};
List list = Arrays.asList(arr);
或者
List list = Arrays.asList("a", "b");
list-〉array
用toArray方法,唯一需要注意的是可以通过参数来指定返回的具体数组的类型
System.out.println(Arrays.deepToString((list.toArray(new String[0]))));
2、打印数组
通常如果我们直接打印数组,会得到类似以下的输出:
[Ljava.lang.String;@c17164
可以通过Arrays.deepToString这个方法来得到以下友好的输出:
[a, b]
3、get sub array
获得一个数组的子集可以使用如下的方法:
Arrays.copyOfRange(res, 0, 10);
注意,这个方法1.6才开始有,之前可以用System.arraycopy来代替:
private String[] copyOfRange(String[] original, int i, int j) {
int k = j - i;
String[] res = new String[k];
System.arraycopy(original, i, res, 0, Math.min(original.length - i, k));
return res;
}