Java中可变长度参数代码详解-创新互联

到J2SE1.4为止,一直无法在Java程序里定义实参个数可变的方法——因为Java要求实参(Arguments)和形参(Parameters)的数量和类型都必须逐一匹配,而形参的数目是在定义方法时就已经固定下来了。尽管可以通过重载机制,为同一个方法提供带有不同数量的形参的版本,但是这仍然不能达到让实参数量任意变化的目的。

成都创新互联公司专注于朔州网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供朔州营销型网站建设,朔州网站制作、朔州网页设计、朔州网站官网定制、小程序设计服务,打造朔州网络公司原创品牌,更为您提供朔州网站排名全网营销落地服务。

然而,有些方法的语义要求它们必须能接受个数可变的实参——例如著名的main方法,就需要能接受所有的命令行参数为实参,而命令行参数的数目,事先根本无法确定下来。

对于这个问题,传统上一般是采用“利用一个数组来包裹要传递的实参”的做法来应付。

1.用数组包裹实参

“用数组包裹实参”的做法可以分成三步:首先,为这个方法定义一个数组型的参数;然后在调用时,生成一个包含了所有要传递的实参的数组;最后,把这个数组作为一个实参传递过去。

这种做法可以有效的达到“让方法可以接受个数可变的参数”的目的,只是调用时的形式不够简单。

J2SE1.5中提供了Varargs机制,允许直接定义能和多个实参相匹配的形参。从而,可以用一种更简单的方式,来传递个数可变的实参。

Varargs的含义

大体说来,“Varargs”是“variablenumberofarguments”的意思。有时候也被简单的称为“variablearguments”,不过因为这一种叫法没有说明是什么东西可变,所以意义稍微有点模糊。

2.定义实参个数可变的方法

只要在一个形参的“类型”与“参数名”之间加上三个连续的“.”(即“...”,英文里的句中省略号),就可以让它和不确定个实参相匹配。而一个带有这样的形参的方法,就是一个实参个数可变的方法。

清单1:一个实参个数可变的方法

private static int sumUp(int... values) {
}

网站标题:Java中可变长度参数代码详解-创新互联
本文网址:http://hxwzsj.com/article/dscspc.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 企业手机网站建设 成都网站制作 成都网站建设公司 成都网站制作 高端网站设计 成都定制网站建设 营销型网站建设 网站建设开发 营销型网站建设 重庆网站制作 重庆网站设计 LED网站设计方案 网站建设方案 四川成都网站制作 手机网站建设 重庆电商网站建设 成都网站设计 成都网站设计 成都响应式网站建设 阿坝网站设计 成都网站建设 温江网站设计