JDK1.5之可变参数

image.png

JDK1.5特性之可变参数:

如果说现在要设计一个方法,这个方法可以接收任意多个整型数据相加。
最初的解决方案:利用数组解决

public class TestDemo {
    public static void main(String[] args) {
        System.out.println(add(new int[]{1,2,3}));
        System.out.println(add(new int[]{4,5}));
    }
    /**
     * 
     * @param data 数组接收任意多个整型数据相加
     * @return
     */
    public static int add(int[] data){
        int sum=0;
        for (int i = 0; i < data.length; i++) {
            sum+=data[i];
        }
        return sum;
    }
}

结果:


image.png

但是实现并不标准,要求是可以接收任意多个整型数据,理想的调用方式:
add(1,2,3) add(10,20) add(10,10,10,20,20,30...)
这一功能从JDK1.5之后正式登陆到了Java之中,主要在方法上使用,定义形式为:访问修饰符 返回值类型 方法名(参数类型...参数名){}
可变参数支持数组形式以及,分割形式实参,实现还是按照数组实现

public class TestDemo {
    public static void main(String[] args) {
        //可变参数接收数组实参
        System.out.println(add(new int[]{1,2,3}));
        System.out.println(add(new int[]{4,5}));
        //可变参数接收,分割的实参
        System.out.println(add(1,2,3));
        System.out.println(add(4,5));
    }
    /**
     * 
     * @param data 数组接收任意多个整型数据相加
     * @return
     */
    public static int add(int...data){
        int sum=0;
        for (int i = 0; i < data.length; i++) {
            sum+=data[i];
        }
        return sum;
    }
}

结果:


image.png

大部分的开发情况要求参数个数明确,这种不确定参数个数的开发往往用于一些程序相关系统类的设计上。

总结:
1.在设计一个类的时候,可变参数并不是优先选择
2.可变参数就属于数组的变形应用

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,456评论 0 4
  • 一、Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计...
    子非鱼_t_阅读 4,368评论 1 44
  • 四月的天气极其不稳定,很多天想来看望你的时候,还是那么的燥热,当我真的要实现约定很久的愿望的时候,却刮起了阵阵狂风...
    手写的从前he阅读 302评论 0 1
  • 黄色系,解锁新花种—菠萝菊 夏天玫瑰勉强三天就成耷拉成面条了,把残花修剪✂️又是一瓶新花
    catshome阅读 126评论 0 0
  • 在Mac OS X 和 Ubuntu上安装TensorFlow 使用系统: ·macOS 10.12.6·Ubun...
    Raewyn阅读 541评论 0 2