Java 将数组传递给变量参数字符参数的问题

Java 将数组传递给变量参数字符参数的问题,java,Java,我正在创建匿名数组并将其传递给一个方法,该方法被声明为接收一个变量参数字符 我想知道下面的代码将如何成功运行,我正在传递一个字符数组{'a','B','C,'D'},并且该方法只能接收字符…如果传递了错误的类型,它不应该失败吗?ie;字符数组与字符 public class test { public static void main(String[] args) { callme(new char[]{'A','B','C','D'}); } st

我正在创建匿名数组并将其传递给一个方法,该方法被声明为接收一个变量参数字符

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

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);
        }

        }

}

这很好用。带有
char…
的所有varargs语法实际上都是作为
callme(char[]c)
实现的,并且该方法的所有调用方只要传入逗号分隔的
char
s,就会转换为传入一个匿名数组,这与手动方式完全相同。

这会很好。所有使用
char…
的varargs语法实际上都是作为
callme(char[]c)
实现的,并且该方法的所有调用方只要传入逗号分隔的
char
s,就会转换为传入一个匿名数组,就像您手工操作一样。

它们是相同的。
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);
    }

它们是一样的。
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);
    }

char…
是一些甜糖。
char…
是一些甜糖。