仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1273|回复: 19
打印 上一主题 下一主题

[学习教程] JAVA网页编程之J2SE5.0 实例---变长参数

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:48:19 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
再举这样一个例子:如果你想对一个数字取绝对值,你会怎么做呢?java的做法是intc=Math.abs(-166);而ruby的做法是:c=-166.abs。呵呵,这就看出了java与ruby的区别。j2se变长参数(Varargs)
与泛型一样,变长参数是C++中有而Java中没有的一种言语特征,在已往假如我们想向一个函数传送可变数目的函数,就必需起首将这些参数放进一个数组中,然后将数组传送给函数。就好像上面所作的一样:

Object[]arguments={640,"kb","anybody","BillGates"};

Stringresult=MessageFormat.format(

"{3}:{0,number,integer}{1}oughttobeenoughfor{2}",

arguments);

在J2SE5.0中,参数仍旧是被放进一个数组中传给对应的办法,可是分歧的是,你不再必要手动的创立数组,而是只必要将那些参数排列出来,其他的事情由假造机替你完成。以是如今我们能够如许写:

Stringresult=MessageFormat.format(

"{3}:{0,number,integer}{1}oughttobeenoughfor{2}",

640,"kb","anybody","BillGates");

我们经由过程一个示例函数来讲明利用变长参数函数的界说。这个函数打印出一团体养的几条狗的名字。

privatevoidprintDogNames(String...dogs)

{

System.out.println("Ihave"+dogs.length+"dogs:");

for(Stringdogname:dogs)

{

System.out.println(dogname);

}

}

现实上变长参数dogs是一个数组。

一个函数的参数中只能有一个变长参数,以是相似上面的界说是分歧法的:

privatevoidprintDogNames(String...dogs,float...dogage)

假如决意把函数参数设置为可变长度的,你必需想到如许一种情形,就是挪用的程序极可能会不给你传任何的参数,这个时分作为参数的数组length为0,而这在语法上是完整正当的,以是你必需在函数界说中思索到这类情形。

你希望java的IDE整合。这个是没有必要的,重要的是你理解java有多深以及怎么组织你的代码,即使没有IDE,代码照样能够编译运行的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-22 07:22

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表