1

我正在为 JVM 中的所有操作码编写一个枚举。它不完整,到目前为止看起来像这样:

public enum Opcode {
    NOP(),
    ACONST_NULL(),
    ICONST_M1(),
    ICONST_0(),
    ICONST_1(),
    // a zillion more of these
    JSR_W();

    private Opcode(Class<? extends Argument> args...) {
    }
}

构造声明的行有编译错误:

')' 预期的

到底是怎么回事?

4

1 回答 1

10

...符号在参数类型上而不是在参数名称上,就像这样

private Opcode(Class<? extends Argument>... args) {
}

为了彻底起见,Java 语言规范声明方法的参数列表具有以下形式

FormalParameterList:
    LastFormalParameter
    FormalParameters , LastFormalParameter

LastFormatParameter表格在哪里

LastFormalParameter:
    VariableModifiersopt Type... VariableDeclaratorId
    FormalParameter

出现...在参数类型声明之后。

于 2013-11-11T01:48:41.493 回答