<b>若何操纵Java的可变参数</b>[Java编程]
本文“<b>若何操纵Java的可变参数</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Java语言在JDK1.5中初次推出可变参数,variable arguments,或简称varargs.这一新语言特点给软件开辟人员在编写办法重载时供应了便利和机动性.但可变参数的利用并不像想象的那么简单,利用时有其特别要求和范围性.
重载的最好例子
读者朋友大概有这样的编程阅历:在编写一个办法时,其参数随着程序运行的条件而改变,在编译期间无法肯定.具体地讲,比方编写一个打印参与集会party的程序,此中办法printInvitation()将按照作为参数的参与人姓名,打印邀请卡.但这个参数的数目事前并不肯定.当然可以编写很多重载的办法来办理这个问题,如:
void printInvitation(String name);
void printInvitation(String name1, String name2);
void printInvitation(String name1, String name2, String name3);
...
问题是编写多少个重载的办法才可以办理给全部参与者打印邀请卡?大概需求改变您的程序计划,而利用数组大概链接表了.
利用可变参数可以便利、机动地办理这类问题.比方:
//完好程序存在本书配套资源目录Ch12名为VarargsTest.java
void printInvitation(String...names) {
for (String name : names) {
makeCard(name); //调用办法按照姓名打印邀请卡
System.out.println("Recording info: invitation card has been printed for " + name);
}
}
这里,(String...names)就是可变参数.它包含从0到肆意个相同范例的参数.在编译期间,这个可变参数将被转换为字符串数组情势,即:
void printInvitation(String[] names)
以下是调用这个办法的例子:
printInvitation("李刚", "David Smith");
printInvitation("Greg Wu", "Paul Nguyen", "Liu Wei", "张新");
printInvitation(); //无参数
当在无参数情形下调用这个办法时,将不履行任何这个办法中的代码.
以下是运行后果:
Recording info: invitation card has been printed for 李刚
Recording info: invitation card has been printed for David Smith
Recording info: invitation card has been printed for Greg Wu
Recording info: invitation card has been printed for Paul Nguyen
Recording info: invitation card has been printed for Liu Wei
Recording info: invitation card has been printed for 张新
以上是“<b>若何操纵Java的可变参数</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |