Java 可变长参数

Java 可变长参数

可变长参数

    可变长参数是一种参数集合,在集合中参数的数量的不确定的,可能为一个或者多个,也可能没有参数;在这个参数集合中的每个参数类型是不确定的,我们将这个参数集合称之为可变的长参数。

    定义形参长度可变的参数从而允许为方法指定数量不确定的形参。如果在定义方法时在最后一个形参类型后增加3个点即(...);则表明该形参可以接受多个参数值,多个参数值会被当做数组传入。

    由于参数的类型不是固定的,那么我们就用Object类型来接收参数,Object参数是所有类型的父类,定义方法为:

public void function(Object...obj){}

对于可变参数的定义方法而言,它表示在方法名为function中有不确定数量的、类型为Object的多个或0个参数的方法,obj表示为参数集合的名字,类似于数组的用法。

使用过程中要注意的几点:

1、调用时,如果同时能匹配固定参数和可变长参数的方法,会优先匹配固定参数方法。

2、如果能同时和2个包含可变参数的方法想匹配,则编译会报错,因为编译器不知道该调用哪个方法。

3、一个方法只能有一个可变参数,且可变参数应为最后一个参数

package jihe;

public class D03 {
    public static void main(String[] args) {
		D03 a = new D03();
	//	   a.DD(null);不会报错 ,运行会空指针异常
		a.DD("dy","zxy","yb","ty");
		a.DD(0,"",5.5,"sb");
		a.DD(8);
	}
    public void DD(Object...args) {
    	for(int i =0;i<args.length;i++)
    	System.out.print(args[i]+" ");
    	System.out.println();
    }
    public void DD(int a) {
    	System.out.println("优先匹配固定参数方法");
    	System.out.println(a);
    }
}
/*
 *dy zxy yb ty 
 *0  5.5 sb 
 *优先匹配固定参数方法
 *8
*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值