java中可变参数

可变参数,在我看来,它就是对参数的个数无限制,视传入参数的个数而定;

让我们一起先看看程序吧


import java.util.Arrays;
import java.util.List;

import org.junit.Test;

public class Demo4 {
	@Test
	public void testSum() {
		// TODO Auto-generated method stub
		//sum(1,2,3,4,5,6);
		int arr[]={1,2,3,4,5,6};
		sum(arr);
	}
	public void sum(int ...nums){
		int sum=0;
		for(int i:nums){
			sum+=i;
		}
		System.out.println(sum);
	}
	@Test
	public void testaa(){
		aa(1,2,3,4,5);
	}
	public void aa(int x,int ...nums){
		
	}
	@Test
	public void bb(){
		List list=Arrays.asList("1","2","3");
		//Array.asList里装的是对象数组
		System.out.println(list);
		
		String arr[]={"1","2","3","4"};
		list=Arrays.asList(arr);
		System.out.println(list);
		
		Integer num[]={1,2,3,5};
		list=Arrays.asList(num);
		System.out.println(list);
	}
}
结果是:<pre name="code" class="java">21
[1, 2, 3]
[1, 2, 3, 4]
[1, 2, 3, 5]

 

<span style="white-space: pre; ">	int</span> ...nums可以说是可变参数的标志(可以传入n多个参数)sum方法的形参是int ...nums,在它的测试方法里sum(1,2,3,4,5,6)和sum(arr)都可以,说明实参可以是几个数也可以是一个同类型的数组。
<span style="white-space:pre">	</span>若有单个形参与可变参数同时作为变量,则将单个形参放在前面,只有这样,才能给单个形参赋值,很好理解int ..nums本就是无限个参数,所以如将单个形参放在后面,他就无法接受实参。
<span style="white-space:pre">	</span>Array.asList顾名思义,把数组"变成"list中添加的是对象数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值