• JDK5.0新特性-可变参数


    可变参数:
    格式 类型... 变量
    本质上这个参数是一个数组。

    优点:1.传参数时可以传递数组,也可以传递多个值。
    2.可以不传递值.



    Arrays.asList()可以将数组转换成List集合.
    注意:得到的是一个固定长度的List集合。
    原因:是因为数组长度是固定的,这个集合是由数组转换成的。

    为什么要将数组转换成集合?
    集合中提供更丰富的操作.


    int[] arr = { 1, 2, 3 };
    List list = Arrays.asList(arr);
    System.out.println(list.size());

    System.out.println(list);

    将一个int[]转换成了List集合使用Arrays.asList方法
    得到的集合长度为1,集合中的元素是int[]为什么?

    集合中的元素是Object。
    因为我们现要转换的集合中的元素是int类型,不能直接装入到集合中(也没有进行装箱)
    这时就将数组对象做为了集合对象.List<int[]>

    -------------------------------

    package cn.itcast.param;
    
    import java.util.Arrays;
    import java.util.List;
    
    import org.junit.Test;
    
    //可变参数
    public class Demo {
    
        // // 求两个int数的和
        // public int sum(int a, int b) {
        // return a + b;
        // }
        //
        // // 求三个数的和
        // public int sum(int a, int b, int c) {
        // return a + b + c;
        // }
    
        // // 求n个数的和---使用数组解决
        // public static int sum(int[] arr) {
        // int sum = 0;
        // for (int i = 0; i < arr.length; i++) {
        // sum += arr[i];
        // }
        // return sum;
        // }
    
        public static int sum(int... a) {
            int sum = 0;
            for (int i = 0; i < a.length; i++) {
                sum += a[i];
            }
            return sum;
    
        }
    
        public static void main(String[] args) {
            // 求两个数的和
            int a = 10;
            int b = 20;
    
            // System.out.println(sum(new int[] { a, b })); // 需要人为手动进行包装.将数据包装到数组中。
    
            // 对于我们开发人员,使用不爽。------------想要包装,就包装,不想包装就不包装.----可以使用可变参数.
    
            System.out.println(sum(a, b));
    
            sum();
        }
    
        // 在一个方法内只能有一个可变参数,并且这个可变参数必须写在最后,不能在其后在有其它参数
    
        // public void demo(String...s,int b){} 可变参数后不可以在有参数
    
        // public void demo(String...s1,String...s2){} 一个方法内只能有一个可变参数。
    
        // public void demo(int b,String...s){} //只能在可变参数前加其它参数.
    
        // 可变参数示例 Arrays.asList() 它的作用可以将数组转换成集合.
    
        @Test
        public void demo() {
            // String[] s = { "a", "b", "c" };
            // List list = Arrays.asList(s); //得到的是一个固定大小的List。
            //
            // //list.add("d");
            // System.out.println(list);
    
            int[] arr = { 1, 2, 3 };
            List list = Arrays.asList(arr);
            System.out.println(list.size());
            
            System.out.println(list);
        }
    
    }
  • 相关阅读:
    sort函数的运用
    数据库设计三大范式
    LeetCode 64. 求1+2+…+n
    LeetCode 876. 链表的中间结点
    单链表的创建和基本操作 C语言
    LeetCode 365. 水壶问题
    LeetCode 1160. 拼写单词
    LeetCode 409. 最长回文串
    LeetCode 836. 矩形重叠
    LeetCode 7. 整数反转
  • 原文地址:https://www.cnblogs.com/spadd/p/4190847.html
Copyright © 2020-2023  润新知