java中可变参数列表理解

本文通过实例解析Java中的泛型可变参数,展示了如何使用泛型定义方法并接收不同类型的数组参数。在`MethodGeneric`类中,`method`和`method02`方法展示了可变参数的用法,能够接受任意数量和类型的参数。在测试类`Test5`中,分别传入字符串数组和整数数组,以及混合类型的数据,验证了泛型可变参数的灵活性。
摘要由CSDN通过智能技术生成

这里以泛型可变参数为例:

package com.ljp.shujujiegou;


public class MethodGeneric {
    public <T> void method(T...args){
        for(T t:args){
            System.out.println(t);
        }
        System.out.println(args);
    }

    public <T> void method02(T t1, T t2, T...args){
        for(T t:args){
            System.out.println(t);
        }
        System.out.println(t1);
        System.out.println(t2);
        System.out.println(args);
    }

}

class Test5 {
    public static void main(String[] args) {
        MethodGeneric methodGeneric = new MethodGeneric();
        String[] arr = new String[]{"a","b","c"};
        Integer[] arr2 = new Integer[]{1,2,3};
        methodGeneric.method(arr);
        methodGeneric.method(arr2);
        methodGeneric.method02("aaa","bbb", "123", "ddd", "eee");
        methodGeneric.method02(111,"bbb", 123, "ddd", "eee");
    }
}
//运行结果
a
b
c
[Ljava.lang.String;@4f023edb
1
2
3
[Ljava.lang.Integer;@3a71f4dd
123
ddd
eee
aaa
bbb
[Ljava.lang.String;@7adf9f5f
123
ddd
eee
111
bbb
[Ljava.io.Serializable;@85ede7b

这里T... args就是泛型定义的可变参数,…表示此处接受的参数可为0到多个Object类型的对象,或者是一个Object[],args指具体传入的对象,传入什么类型即为什么类型。

从运行结果可以看出,a、b、c时arr1的打印结果,1、2、3时arr1的打印结果,所以泛型定义的可以传入任意类型的数组对象;
methodGeneric.method02("aaa", "bbb", "ccc", "ddd", "eee");aaa放入t1中,bbb放入t2中,先打印了ccc,ddd,eee,可知123,ddd,eee放入了args,即传入了多个数据,也可传入不同类型的数据,如methodGeneric.method02(111,"bbb", 123, "ddd", "eee");。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值