Java可变参数系统方法与数组实现方法

举报
ksh1998 发表于 2021/12/26 00:11:50 2021/12/26
【摘要】 前言: 可变参数 之后是JDK1.5之后支持的新特性,可以在确定 了数据类型之后。无法确定参数个数的情况下使用,切记一定是先确定了数据类型之后,并且数据类型统一才行。 文章目录 实现原理实例系统自...

前言:
可变参数 之后是JDK1.5之后支持的新特性,可以在确定 了数据类型之后。无法确定参数个数的情况下使用,切记一定是先确定了数据类型之后,并且数据类型统一才行。

实现原理

可变参数底层就是一个数组,根据传递参数个数不同,会创建不同长度的
数组,来存储这些参数传递的参数个数,可以是0个(不传递)1,2,3个多个.

  
 
  • 1
  • 2

实例

 声明一个累加的方法,但是累加参数的个数是不确定的。
 例如:a+b+c,
 			a+b,
 			a+b+c+d
 			也可能是更多个参数相加(要求只能使用一个方法实现以上所有需求)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

系统自带(可变参数实现)

   /*
    使用可变参数方式,实现不确定参数的累加方法
    * 定义计算(0-n)整数和的方法
    * 已知:计算整数的和,数据类型已经确地int
    * 但是参数个数不确定,可以使用可变参数
    * */
    public static int add(int ... arry){
       // System.out.println(arry);
        int sum=0;//和
        for (int i = 0; i < arry.length; i++) {
            sum+=arry[i];
        }
        return sum;
    }

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

自定义(数组实现)

    /*
    使用数组实现,不确定参数的累加方法。
     * 定义计算(0-n)整数和的方法
     * 已知:计算整数的和,数据类型已经确地int
     * 但是参数个数不确定,可以使用数组
     * */
    public static int addArray(int[] arry){
        // System.out.println(arry);
        int sum=0;//和
        //判断数组是否为空
       if(arry.length!=0){
            for (int i = 0; i < arry.length; i++) {
                sum+=arry[i];
            }
        }

        return sum;
    }

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

总结

对比系统自带的可变参数和自己写的那个数组的实现方法,还是系统自带的要好用,目前不是比较那个更加优。而是 锻炼自己能不能使用其他的方式,把这个原理给实现了。虽然没有全部实现,只是实现了一部分,自定义的实现方式不能没有参数。所以这是一个缺点,还需要继续优化。

文章来源: kangshihang.blog.csdn.net,作者:康世行,版权归原作者所有,如需转载,请联系作者。

原文链接:kangshihang.blog.csdn.net/article/details/108341744

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。