今天在看源码时,看到了类似这样的一个方法
public static String getPerson(Integer id, Object... a) {
System.out.println(id);
return id.toString();
}
在上面方法的参数中使用到了_Object…_这样的参数,主要功能就是意味着这个参数可以不传,也就是这样的
第一种
getPerson(1);
第二种
getPerson(1, "s", "ssss");
如果是第一种,参数会是这样的
第二种,参数是这样的
所以,可变参数是可传可不传的,如果传了多个,会变成对应类型的数组
那这个时候出现了下面这种方法,他就会优先调用下面的方法。
public static String getPerson(Integer id, String a, String b) {
System.out.println(id);
return id.toString();
}