问题很简单,求解下面两种写法的区别public void m(String... s){
// code 
}public void m(String[] s){
// code 
}

解决方案 »

  1.   

    string 后面随意。就这样。
      

  2.   

    第一个 变长参数  Java 5.0:变长参数
    第二个 数组
      

  3.   

    用法没什么区别,问了经理,好像是什么java函数签名不一样
      

  4.   

    public void m(String... s) //java5的新特性 可变长度参数列表,表示接受的参数为0个到多个String类型的对象。
    区别如下:
    public class Test {
    public void m(String... a) {

    }

    public void doM() {
    this.m();
    this.m("");
    this.m(new String[10]);
    }
    }而public void m(String[] s),  调用时必须传一个String数组对象
      

  5.   

    其实也就是没什么区别,条条大路通罗马而已,但是我相信,两种方法的出现在jdk中肯定不是同时出现
      

  6.   

    http://blog.csdn.net/wfy1987/archive/2009/03/16/3993468.aspx
    关于形参的具体含义建议LZ去看看.说的很详细...
      

  7.   

    public class Test {
    //接受的参数为0个到多个String类型的对象
    public void m(String... a) {

    } public void doM() {
    this.m();
    this.m("");
    this.m("","","");
    this.m(new String[10]);
    }
    }class Test2 {
    //只接受String数组对象
    public void m(String[] a) {

    }

    public void doM() {
    this.m(new String[10]);
    }
    }补全一下,我竟然没有编辑我自己帖子的权限,杯具。
      

  8.   

    public void m(String... s) 传入的参数可以是单个String,也可以是String数组public void m(String[] s) 传入的是String数组
      

  9.   

    其实差不多
      可变参数是jdk5 加入的新特性 为符合编程人员的习惯问题
      

  10.   

    第一个只要符合String类型就行(包括数组)
    第二个要String[]数组
      

  11.   

    第一个方法的参数是变元,就是你可以传多个String 的参数,性能是所有方法当中最后执行的
    第二个是数组不用说了吧
      

  12.   

    这是方法的重载,java多态性的体现
      

  13.   

    第一个只要符合String类型就行(包括数组)
    第二个要String[]数组
      

  14.   

    这是java面向对象的特性之一。多态,指的是方法名称相同,返回类型相同而参数不同。
      

  15.   

    java也支持c的va_list这样的特性了?好久没玩了,java也与时俱进了
    支持下~~~~~~~~~~~~·如果LZ玩过C,就知道区别了
    printf(const char* format,...); 原型就是这样的。
      

  16.   

    我们知道在Java中有堆栈这两个概念!传值的时候有两种方式 转值和传引用!在程序的代码中数组因为是以对象的形式出现的,所以在传递的数组的时候传的是数组值的引用,也就是数组所在的内存单元的地址,这一点在Java、C、C++、C#里边都这样!而如果你传的是字符串,字符串的值如果在方法以内改变 就改变的只有方法里边的值 方法外边的字符串是不会改变的!