Arrays(数组)类中相同(equals)和深度相同(deepEquals)的区别。
String[][] name1 = {{"G","a","0"},{"H","u","a","n"},{"j","i","e"}};
String[][] name2 = {{"G","a","0"},{"H","u","a","n"},{"j","i","e"}};
//用户自定义的字符串放置于常量池内
System.out.println(Arrays.equals(name1[0], name2[0]));///true
System.out.println(Arrays.equals(name1, name2));///false
System.out.println(Arrays.deepEquals(name1, name2));///true
1、deepEquals用于判定两个指定数组彼此是否深层相等,此方法适用于任意深度的嵌套数组。
2、equals用于判定两个数组是否相等,如果两个数组以相同顺序包含相同元素,则返回true,否则返回false。
3、如果两个数组使用equals返回true,则使用deepEquals也返回true,也就是说在比较的两个数组均为一维数组的前提下,equals和deepEquals的比较结果没有差别;
4、如果要比较多为数组,则需要使用deepEquals方法。
可变参数(多个数求和)
public static int sum(int a,int... b) {
int tempsum = a;
for (int e:b) {
tempsum += e;
}
return tempsum;
}
可变参数本质是一个数组
可变参数只能在方法参数列表的最后一位
一个方法只能有一个可变参数
foreach遍历数组
int [] a = {3,4,6};
for(int e: a){
System.out.println(e);
}