当需要接收的参数个数不确定时,我们通常会重载方法以接收不同个数的参数。如
public class Speak{
public void speak(String word) {
System.out.println(word);
}
public void speak(String word,String word1) {
System.out.println(word+word1);
}
public void speak(String word,String word1,String word2) {
System.out.println(word+" "+word1+" "+word2);
}
public static void main(String[] args) {
Speak vt = new Speak();
vt.speak("黑马程序员");
vt.speak("黑马程序员", "CSDN");
vt.speak("黑马程序员", "CSDN", "乐知");
}
}
------
但是如果要接受的参数可能是一到一万之间个呢?那不是要重载9999次这个方法吗?
在这个时候,jdk 1.5的可变参数新特性相当有用。
上面的程序可以这样写:
public class Speak{
public void speak(String name, Object... arguments) {
System.out.print(name+": ");
for (Object object : arguments) {
System.out.print(object);
}
System.out.println();
}
public static void main(String[] args) {
Speak vt = new Speak();
vt.speak("黑马程序员");
vt.speak("黑马程序员", "CSDN");
vt.speak("黑马程序员", "CSDN", "乐知");
}
}
思考:有时候,我们查询数据库获得结果集时,每个表的字段数是不确定的。可不可以用这个新特性来操作数据库的结果集呢?