String... args 和 String[] args 的区别

已知这样的调用关系,方法应该如何写

	//test方法名
	   test("log message 1 ");
        test("log message2", " log message3");
        test("log message4","log message5","log message6");

首先这是jdk1.5之后的新特性,我们叫它为可变参数 String …args 是一个不定长参数。

String args[] 是一个数组作为参数。

String[] args 和 String… args 本质上不没有什么区别,String… args 最后还是转化成String[] args 来做的
  • 当一个方法定义中有String… args形参时,实参传递的参数个数可以是少于最大个数的任意个,可以不传 参数。但是这样子定义在方便的同时也是有其他影响的,那就是String…args只能定义在形参的最后一个参数,而String[] args就没有这样的限制了,所以看各种的需求定义。
  • 如下体现了两种形式的不同
 public static void test(String [] aaa){

    }

    public static void test2(String ... bbb){

    }

    public static void main(String[] args) {
        test(new String[]{"log message 1 "});
        test(new String[]{"log message2", " log message3"});
        test(new String[]{"log message4","log message5","log message6"});
		
        test2(new String[]{"log message 1 "});
        test2("log message2", " log message3");
        test2("log message4","log message5","log message6");
    }

你可能感兴趣的:(java)