将枚举作为参数传递给方法?

0 java parameters enums

我有一个抽象类Medium,其中一个datamembers是枚举.

private Taal talenOndertiteling[];

public enum Taal {
    NEDERLANDS, FRANS, DUITS, ENGELS, SPAANS, ITALIAANS
}
public Taal[] getTalenOndertiteling() {
    return talenOndertiteling;
}

public void setTalenOndertiteling(Taal[] talenOndertiteling) {
    this.talenOndertiteling = talenOndertiteling;
}
Run Code Online (Sandbox Code Playgroud)

现在当我尝试调用最后一个方法时:

            BD bd1 = new BD();
            bd1.setTalenOndertiteling(Taal.ENGELS);
Run Code Online (Sandbox Code Playgroud)

我收到了一个错误.(BD类实现了Medium类)关于如何调用该方法的任何想法?如果我想设置几个语言,我该怎么办呢?

谢谢!

Ste*_*ker 6

您的方法接受Taal[]但您的调用通过了Taal.你有两个选择:

要么通过明确的Taal[]:

bd1.setTalenOndertiteling(new Taal[] {Taal.ENGELS});
Run Code Online (Sandbox Code Playgroud)

或者,更改方法声明以获取vararg参数并让编译器为您执行此操作:

public void setTalenOndertiteling(Taal... talenOndertiteling) {
Run Code Online (Sandbox Code Playgroud)