如何应用Java的可变参数 - 编程入门网
如何应用Java的可变参数时间:2011-02-12Java语言在JDK1.5中首次推出可变参数,variable arguments,或简称varargs。这一新语言特征给软件开发人员在编写方法重载时提供了方便和灵活性。但可变参数的应用并不像想象的那么简单,使用时有其特殊要求和局限性。 重载的最好例子 读者朋友可能有这样的编程经历:在编写一个方法时,其参数随着程序运行的条件而变化,在编译期间无法确定。具体地讲,例如编写一个打印参加聚会party的程序,其中方法printInvitation()将根据作为参数的参加人姓名,打印邀请卡。但这个参数的数量事先并不确定。当然可以编写许多重载的方法来解决这个问题,如:
问题是编写多少个重载的方法才可以解决给所有参加者打印邀请卡?也许需要改变您的程序设计,而使用数组或者链接表了。 应用可变参数可以方便、灵活地解决这类问题。例如:
这里,(String...names)便是可变参数。它包括从0到任意个相同类型的参数。在编译期间,这个可变参数将被转换为字符串数组形式,即: void printInvitation(String[] names) 如下是调用这个方法的例子:
当在无参数情况下调用这个方法时,将不执行任何这个方法中的代码。 如下是运行结果: 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 张新 如何应用Java的可变参数(2)时间:2011-02-1212.7.2 怎样工作 可变参数也不神秘。实际上,JVM将根据程序中调用这个方法时提供的参数数量,来装载和运行它。 可变参数的简单语法格式为: methodName([argumentList], dataType...argumentName); 其中: argumentList——普通参数,可选项。 dataType——数据类型或者类。自动转换成dataType代表的数组。 ...——Java的操作符。表示0到多个。必须是3个点。 argumentName——参数名。 注意,可变参数必须在最后。 下面是应用可变参数的更多例子:
再如:
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |