java 不定项参数

问题:编程中我们可能遇到参数个数不确定的情况,这个是时候我们可能会想到将参数封装成数组,然后在方法中循环遍历就能取出所有的参数。但是这样还要构造一个数组,觉得麻烦,于是就有了不定项参数。

	/**
	 * @param strs  参数可以为String[]数组,也可为单个或多个String字符串
	 */
	public static void method(String... strs ){
        //可以看出不定项参数 strs 其实是个数组
		int len = strs.length;
		for(int i=0;i<len;i++){
			System.out.println(strs[i]);
		}
		
	}

因为method方法的入参 strs 本质上是个数组,而已调用的时候,参数可以为数组,也可以是多个String字符串。

public static void main(String[] args) throws Exception {
	    
		//入参为 String[] 数组
		String[] arr = new String[]{"a","b","c"};
		method(arr);
		
		//入参为 多个String字符串
		method("qq","ww","ee");
		
		
	}

结果:

### Java Varargs 使用方法及编程示例 #### 方法定义中的可变参数Java中,varargs允许一个方法接受不定数量的参数。声明带有可变长度参数的方法时,在参数类型的后面加上省略号`...`即可[^1]。 ```java public class MyVarArgsClass { // 定义接收字符串数组作为参数的方法 public static void printMessages(String... messages) { for (String message : messages) { System.out.println(message); } } public static void main(String[] args) { // 调用printMessages()函数并传递多个参数 printMessages("Hello", "World", "This is a test"); // 也可以不传任何参数调用该方法 printMessages(); } } ``` 此代码展示了如何创建能够处理任意数量输的方法。当没有任何实被传递给形式为vararg的形式参数时,则其对应的实际参数为空数组而不是null。 #### 结合其他固定参数使用 如果希望除了支持变化数目外还拥有常规位置固定的形,则这些普通的参数应该位于所有带三个点(`...`)标记之前的左侧位置上: ```java // 前面可以有普通参数, 后面才是可变参数 static int sum(int fixedParam, double... values){ int totalSum = fixedParam; for(double value : values){ totalSum += value; } return totalSum; } public static void main(String[] args) { // 可以只提供fixedParam而不必给出额外的values System.out.println(sum(5)); // 或者同时指定两者 System.out.println(sum(2, 10.5, 20.75)); } ``` 这种方法签名使得开发者可以在同一个方法内既利用到定数目的参数又享受到动态调整列表带来的灵活性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值