java可变参数

来源:互联网 发布:word修改属性软件 编辑:程序博客网 时间:2024/05/21 10:02

可变参数本质上是一个数组;可变参数只能处于参数列表的最后,所以一个方法最多只能有一个长度可变的参数。可变参数后不能再有参数。

package cn.itcast.demo2;import java.util.Arrays;import java.util.List;import org.junit.Test;public class demo1 {    /**     * @param args     */    public static void main(String[] args) {        // TODO Auto-generated method stub        int a=10;        int b=30;        System.out.println(sum(a,b));        System.out.println(sum());    }    public static int sum(int...a)    {        int sum=0;        for(int i=0;i<a.length;i++)        {            sum+=a[i];        }        return sum;    }    public void demo(String s,int...t)    {    }    //可変参数示例Arrays.asList() 它的作用可以将数组转化成集合    @Test    public void demo()    {        String[] s={"a","b","c"};        List list=Arrays.asList(s);//得到的是一个固定大小的列表List        //数组変集合长度不能变,因为数组长度是固定的,这个集合是由数组转化成的        System.out.println(list);        System.out.println(list.size());//3     }    @Test    public void demo1()    {        int[] s={1,2,3};        List list=Arrays.asList(s);        System.out.println(list);        System.out.println(list.size());//1    }}

为什么demo输出的是3,而demo2输出的是1呢?
将一个int[]转化为List集合使用Arrays.asList方法,得到的集合长度为1,集合中的元素是int[],因为集合中的元素是Object,而数组中的元素是int类型,不能直接装入到集合(没有进行装箱),这是就将数组对象作为集合对象。List

0 0
原创粉丝点击