2013-09-26 63 views
0

我创建匿名数组并将它传递给它宣布接受变量参数字符的方法...问题传递一个数组变量参数特征参数

我想知道,下面的代码将如何运行成功,我传递了一组字符{'A','B','C,'D'},并且该方法只能接收字符......不应该通过错误类型失败吗?即;字符数组与字符?

public class test { 


    public static void main(String[] args) { 
     callme(new char[]{'A','B','C','D'}); 
    } 

    static void callme(char... c){ 
     for (char ch:c){ 
      System.out.println(ch); 
     } 

     } 

} 
+0

'字符...'是一些甜蜜的糖。 –

回答

1

这将工作正常。与char...实际上一样的所有可变参数语法实际上都是它实际上实现为callme(char[] c),并且该方法的所有调用者只是通过逗号分隔的char s将被转换为匿名数组传递,完全如您所做手。

3

它们是相同的。一个char...char[]

你也可以写

public static void main(String[] args) { 
    callme('A','B','C','D'); 
} 

static void callme(char... c){ 
    for (char ch : c) { 
     System.out.println(ch); 
    }