zoukankan      html  css  js  c++  java
  • Java 可变参数

    可变参数

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

    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);
        }


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

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


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

    比较下面三个例子

    @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]

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

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

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

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

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

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

  • 相关阅读:
    团队作业第四次—项目系统设计与数据库设计
    团队Github实战训练
    第三次团队作业(需求分析)
    团队作业——UML设计
    项目介绍
    Happy Tree Friends——团队展示
    Alpha冲刺 (1/9)
    团队作业第四次—项目系统设计与数据库设计
    团队Github实战训练
    团队作业——需求分析
  • 原文地址:https://www.cnblogs.com/tech-bird/p/3774726.html
Copyright © 2011-2022 走看看