形参个数可变的方法(...)

  从JDK1.5之后,Java允许定义形参个数可变的参数,从而允许为方法制定数量不确定的形参。如果在定义方法时,在最后一个形参的类型后增加三点(...),则表明该形参可以接受多个参数值,多个参数值被当成数组传入。下面程序定义了一个形参个数可变的方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Test{
    //定义了形参个数可变的方法
    public static void test1(int a,String...str){
        for(String tmp:str) System.out.println(tmp);
        System.out.println(a);
    }
    //定义了数组形式的形参方法
    public static void test2(int a,String []str){
        for(String tmp:str) System.out.println(tmp);
        System.out.println(a);
    }
    public static void main(String []args){
        test1(1,"tes1测试","test1测试","test1测试");
        test2(2,new String[]{"test2测试","test2测试","test2测试"});
    }
}

  两种测试方法都包含一个名为str的形参,在两个方法的方法体内都可以把str当成数组来处理,但区别是调用两个方法时存在差别,对于以可变形参的形式定义的方法,调用方法时更加简洁。但最后还要注意一点,数组形式的形参String []str可以处于形参列表的任意位置,而个数可变的形参String...str只能处于形参列表的最后。换句话说,一个方法中最多只能有一个长度可变的形参。

posted @   MazeHong  阅读(1350)  评论(0)    收藏  举报
编辑推荐:
· 理解 .NET 结构体字段的内存布局
· .NET 9中的异常处理性能提升分析:为什么过去慢,未来快
· 字符集、编码的前世今生
· Web性能优化:从 2 秒到200毫秒
· WPF 使用GDI+提取图片主色调并生成Mica材质特效背景
阅读排行:
· 【故障公告】博客主站遭遇很奇怪的疯狂攻击
· 我与博客园的20年
· 一个老程序员, 两个小时能用corsur做出什么样的东西
· 刚刚,Cursor 1.0炸裂发布!4大亮点实战
· SQL Server 2025 预览版新功能点评
点击右上角即可分享
微信分享提示