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[]实例