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。

  • 相关阅读:
    网络编程IO模型
    网络编程四层模型
    签到赛--我打的
    签到赛--ipip
    初见RCE(远程命令/代码执行漏洞)
    [ACTF2020 新生赛]Include
    文件上传+[SUCTF 2019]CheckIn
    古典密码,背包密码,RSA
    第八章小结
    第七章小结
  • 原文地址:https://www.cnblogs.com/lvchengda/p/12620668.html
Copyright © 2011-2022 走看看