码迷,mamicode.com
首页 > 编程语言 > 详细

Java 可变参数

时间:2014-06-07 22:42:41      阅读:306      评论:0      收藏:0      [点我收藏+]

标签:c   style   class   blog   code   java   

 

可变参数

可变参数可以当成一个数组使用

bubuko.com,布布扣
public void sum(int ...nums){
        int sum = 0;
        for(int i:nums)
        {
            sum +=i;
        }
        System.out.println(sum);
    }
    
    @Test
    public void testSum()
    {
        sum(1,2,3,4,5);
    }
bubuko.com,布布扣


可变参数的实参可以是数组(同上)

bubuko.com,布布扣
@Test
    public void testSum()
    {
        int arr[] ={1,2,3,4,5};
        sum(arr);
    }
bubuko.com,布布扣


如果一个方法包含可变参数,那么可变参数一定是最后一个参数

 

比较下面三个例子

 

bubuko.com,布布扣
@Test
    public void testSum()
    {
        List list =Arrays.asList("1","2","3","4");
        System.out.println(list);
    }

//结果是
// [1, 2, 3, 4]

@Test
    public void testSum()
    {
        List list =Arrays.asList(1,2,3,4);
        System.out.println(list);
    }
//结果是
// [1, 2, 3, 4]


@Test
    public void testSum()
    {
        int nums[] = {1,2,3,4,5};
        List list =Arrays.asList(nums);
        System.out.println(list);
    }
//结果是
// [[I@2866bb78]
bubuko.com,布布扣

 

public static <T> List<T> asList(T... a)

可以看出asList的参数是可变参数,且是对象(T是泛型,可以理解为Object)

例一和例二都是直接传入了几个对象(其中例二用到了封箱)

例三是传入了一个数组对象(基本数据类型数组就是一个特殊的对象

 

对于可变参数,一定要注意参数是基本数据类型还是对象类型

文章前面开头的例子是基本数据类型,后面的是对象类型

 

Java 可变参数,布布扣,bubuko.com

Java 可变参数

标签:c   style   class   blog   code   java   

原文地址:http://www.cnblogs.com/tech-bird/p/3774726.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!