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

    可变参数

    java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。
    
    注意:可变参数必须位于最后一项。
    
    原因:当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。
    

    可变参数的特点:

    (1)只能出现在参数列表的最后; 
    
    (2)...位于变量类型和变量名之间,前后有无空格都可以;
    
    (3)调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。
    
    
    public static void main(String[] args) {
    		System.out.println("test1:");
    		test(1,"a","b","c","d");
    		System.out.println("test2:");
    		test(2,new String[] {"a", "b", "c"});
    	}
    	
        /**
         * 测试方法
         * @param params 参数
         * */
        public static void test(int intParam,String... params){
        	System.out.println("int:"+intParam);
            //遍历参数内容
            for(String temp : params){
                System.out.println(temp);
            }
            System.out.println();
    
    
    结果:
        test1:
        int:1
        a
        b
        c
        d
        
        test2:
        int:2
        a
        b
        c
    

    那么可不可以使用多个可变参数作为入参呢?答案是不可以的,原因跟上一个错误差不多,这种可变参数需要放到最后一个入参,多个可变参数,不可能都最为最后一个入参。相较于String[]这种形式的入参,我理解的优势大概就是可以多个String传入,也可以Sting[]传入,就是test1的调用入参这样。

    参考

    原文:https://blog.csdn.net/a290450134/article/details/82050625

  • 相关阅读:
    Spring 结合 Hibernate 配置 C3P0
    servlet直接调用spring的serivce方法
    http协议 web开发的应用 笔记
    一个让微软晕倒的中国人,绝对经典
    经典的上课插嘴
    教授说接吻
    在狼身上值得我们学习的十大处世哲学(经典)
    结婚前的暴强对话
    小笑话
    非一般的分手信
  • 原文地址:https://www.cnblogs.com/eternityz/p/12238942.html
Copyright © 2011-2022 走看看