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 に答える