可变参数如果传入基本类型数组会怎么样?

可变参数如果传入基本类型数组,JVM会当整个数组当做一个参数来处理。如果传入的是封装类型的数组,那么数组中内容会被拆分成多个参数传入方法。代码如下: 

    public static void main(String[] args) {

        Integer[] test = new Integer[] {1, 2, 5};
        int[] test2 = new int[] {1, 2, 5};

        // public static <T> List<T> asList(T... a)
        List result1 = Arrays.asList(test);
        List result2 = Arrays.asList(test2);

        System.out.println("result1:" + result1);
        System.out.println("result1 size:" + result1.size());
        System.out.println("result2:" + result2);
        System.out.println("result2 size:" + result2.size());
    }

结果:

result1:[1, 2, 5]
result1 size:3
result2:[[I@4554617c]
result2 size:1

可变参数还可以这么玩儿,传入不同的参数类型。

public <T> void printMsg( T... args){
    for(T t : args){
        Log.d("测试","t is " + t);
    }
}

printMsg("111",222,"aaaa","2323.4",55.55);

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值