zoukankan      html  css  js  c++  java
  • 可变参数

    可变参数用类型...定义,可变参数相当于数组类型:

    class Group {
        private String[] names;
    
        public void setNames(String... names) {
            this.names = names;
        }
        
        public void setAges(int... names) {
            this.names = names;
        }
    }

    上面的setNames()就定义了一个可变参数。调用时,可以这么写:

    Group g = new Group();
    g.setNames("Xiao Ming", "Xiao Hong", "Xiao Jun"); // 传入3个String
    g.setNames("Xiao Ming", "Xiao Hong"); // 传入2个String
    g.setNames("Xiao Ming"); // 传入1个String
    g.setNames(); // 传入0个String

    完全可以把可变参数改写为String[]类型:

    class Group {
        private String[] names;
    
        public void setNames(String[] names) {
            this.names = names;
        }
    }

    但是,调用方需要自己先构造String[],比较麻烦。例如:

    Group g = new Group();
    g.setNames(new String[] {"Xiao Ming", "Xiao Hong", "Xiao Jun"}); // 传入1个String[]

    另一个问题是,调用方可以传入null:

    Group g = new Group();
    g.setNames(null);

    而可变参数可以保证无法传入null,因为传入0个参数时,接收到的实际值是一个空数组而不是null。

  • 相关阅读:
    js学习之函数
    面试题
    渐进增强(progressive enhancement)、优雅降级(graceful degradation)
    倒计时
    css 平行四边形
    网址URL分解
    图片延时加载
    获取元素的宽高,左边距上边距
    电商平台放大镜效果
    js笔记
  • 原文地址:https://www.cnblogs.com/lvchengda/p/12620668.html
Copyright © 2011-2022 走看看