形参个数可变的方法(...)
从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只能处于形参列表的最后。换句话说,一个方法中最多只能有一个长度可变的形参。
· 理解 .NET 结构体字段的内存布局
· .NET 9中的异常处理性能提升分析:为什么过去慢,未来快
· 字符集、编码的前世今生
· Web性能优化:从 2 秒到200毫秒
· WPF 使用GDI+提取图片主色调并生成Mica材质特效背景
· 【故障公告】博客主站遭遇很奇怪的疯狂攻击
· 我与博客园的20年
· 一个老程序员, 两个小时能用corsur做出什么样的东西
· 刚刚,Cursor 1.0炸裂发布!4大亮点实战
· SQL Server 2025 预览版新功能点评