快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

J2SE5.0 实例---变长参数

变长参数(Varargs)
与泛型相同,变长参数是C++中有而Java中没有的一种语言特性,在过去假如我们想向一个函数传递可变数量的函数,就必须首先将这些参数放入一个数组中,然后将数组传递给函数。就犹如下面所作的相同:

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

String result = MessageFormat.format(

     "{3}:{0,number,integer}{1} ought to be enough for {2}  ",

     arguments);

在J2SE5.0中,参数仍旧是被放入一个数组中传给对应的方式,但是不同的是,你不再需要手动的创建数组,而是只需要将那些参数罗列出来,其他的工作由虚拟机替你完成。所以现在我们可以这样写:

String result = MessageFormat.format(

            "{3}:{0,number,integer}{1} ought to be enough for {2}  ",

            640, "kb", "anybody", "Bill Gates");

我们通过一个示例函数来说明使用变长参数函数的定义。这个函数打印出一个人养的几条狗的名字。

private void printDogNames(String... dogs)

{

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

  for(String dogname:dogs)

  {

     System.out.println(dogname);

  }

}

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

一个函数的参数中只能有一个变长参数,所以类似下面的定义是不合法的:

private void printDogNames(String... dogs,float... dogage)

假如决定把函数参数设置为可变长度的,你必须想到这样一种情况,就是调用的程序很可能会不给你传任何的参数,这个时候作为参数的数组length为0,而这在语法上是完全合法的,所以你必须在函数定义中考虑到这种情况。




返回类别: 教程
上一教程: 使用JavaExcel API 往excel中插入图片
下一教程: jUDDI 简朴安装使用

您可以阅读与"J2SE5.0 实例---变长参数"相关的教程:
· J2SE5.0 实例---泛型
· jsp源码实例2(获取表单参数)
· J2SE5.0实例---注释(annotation)
· JSP源码实例2(获取表单参数)
· JSP源码实例3(获取JSP各种参数)
    微笑服务 优质保证 索取样品