1、fill()
用于填充数组
fill(a,val)
a是数组变量,给数组中的每个值都赋为val
例:
int[] a=new int[5];
Arrays.fill(a,3);
输出33333
fill(a,x,y,val)
a是数组变量,给数组中a[x]到a[y-1]赋为val
int[] a=new int[5];
Arrays.fill(a,2,5,3);
输出00333
2、asList()
当传入基本数据类型的数组时,会把传入的数组整个当作返回的List中的第一个元素
int
[] a1 =
new
int
[]{
1
,
2
,
3
};
String[] a2 =
new
String[]{
"a"
,
"b"
,
"c"
};
System.out.println(Arrays.asList(a1));
System.out.println(Arrays.asList(a2));
会输出
[[I
@dc8569
]
[a, b, c]
Arrays.asList(array)将返回一个List,然而这个返回的List并不支持add和remove的操作,当我们对Arrays.asList返回的List进行添加或删除时将会报 java.lang.UnsupportedOperationException 异常。
3、Arrays.equals()
区别于Object.equals(),Object().equals()只有当两个引用指向同一个对象时才为True,不是检查它们的内容是否相同.
例:
int[] a=new int[]{1,2,3};
int[] b=new int[]{1,2,3};
a.equals(b) return false;
Arrays.equals(a,b) return true;
但是当
int[][] a=new int[][]{{1,2},{3,4}};
int[][] b=new int[][]{{1,2},{3,4}};
a.equals(b) return false;
Arrays.equals(a,b) return false;
因为int[]是一个Object实例,int[][]是一个Object[]实例
所以可以使用deepEquals(Object[],Object[])
Arrays.deepEquals(a,b) return true;
4、Arrays.toString()
System.out.println(
java.util.Arrays.toString(
new int[][] {
{ 1 },
{ 2, 3 },
}
)
); // prints "[[I@187aeca, [I@e48e1b]"
System.out.println(
java.util.Arrays.deepToString(
new int[][] {
{ 1 },
{ 2, 3 },
}
)
); // prints "[[1], [2, 3]]"
因为int[]是一个Object实例,int[][]是一个Object[]实例