可变长参数

本文介绍Java 1.5起引入的可变参数功能,如何解决重载方法冗余问题,以及如何理解其本质——数组。通过实例演示了如何使用`int...numbers`和`double...numbers`参数接收不确定数量的同类参数。
摘要由CSDN通过智能技术生成

??? 当你不知道传多少个参数的时候怎么办 !

可变长参数来啦~

尤其是在重载的时候,一个方法因为参数不同会写很多个就很难搞!

就像这样的尴尬情况,写了一大堆方法,造成代码的冗余相当相当的严重

public void method(){}
    public void method(int i){}
    public void method(int i,double d){}
    public void method(int i,float f){}
    public void method(int i,boolean b){}
    public void method(int i,byte B){}

官方解释:在JDK1.5开始,java支持传递同类型的可变参数给一个方法

在方法声明中,在指定参数类型后加一个省略号 (

一个方法中只能指定一个可变参数,他必须是方法的最后一个参数,任何普通参数必须在他前面声明,简言之就是这样滴:

    public void method(int i,byte B, double... numbers){}

整个实际栗子来康康

public class Test {
    public static void main(String[] args) {
        Test test1 = new Test();
        // 调用方法,上传随意多个参数
        test1.method(1,2,3,4,5,6);
    }
    // 定义了有N个int型参数的方法
    public void method(int... numbers){
        System.out.println("第1个参数"+numbers[0]);
        System.out.println("第2个参数"+numbers[1]);
        System.out.println("第3个参数"+numbers[2]);
        System.out.println("第4个参数"+numbers[3]);
        System.out.println("第5个参数"+numbers[4]);
        System.out.println("第6个参数"+numbers[5]);
    }
}

结果是:
第1个参数12个参数23个参数34个参数45个参数56个参数6

再来个小栗子:

public class demo1 {
    public static void main(String[] args) {
          printMax(5.6,4.8,1.0,2.1,3.3,5.1,6.6);
        // 可边长参数的本质就是一个数组
        printMax(new double[]{5.6,4.8,1.0,2.1,3.3,5.1,6.6});
    }
    public static void printMax(double... numbers){
        if (numbers.length == 0){
            System.out.println("没有传参数");
            return ;
        }
        double result = numbers[0];
        // 找最大值
        for (int i = 1; i < numbers.length; i++){
            if (numbers[i]>result){
                result = numbers[i];
            }
        }
        System.out.println("The MaxValue is" +result );
    }
}


结果是:
    
   The MaxValue is   6.6
   The MaxValue is   6.6
All in all :

可变长参数可以理解为是一个 数组,里面的个数是不确定滴,但是里面的类型必须得是一样的,尤其是想传多个类型不同的参数时,可变长参数必须放在最后

All in all :

可变长参数可以理解为是一个 数组,里面的个数是不确定滴,但是里面的类型必须得是一样的,尤其是想传多个类型不同的参数时,可变长参数必须放在最后

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值