0

Java では、文字列から列挙値を取得しようとしています。

たとえば、私は得ました:

MESSENGERINIT("@L")

これは列挙型にもあります:

private String header;

private ServerPackets(String header) 
{
    this.header = header;
}

public String getHeader()
{
    return this.header;
    //more code here.
}   

しかし、私が使用しようとすると:

System.out.println("[" + ServerPackets.valueOf(header) + 
    "] - Received unregistered header " + 
    Base64Encoding.decode(header) + "(" + header + ") with body " + 
    connection.reader.toString());

次のエラーが表示されます。

java.lang.IllegalArgumentException: No enum constant 
com.kultakala.communication.ServerPackets.@L
    at java.lang.Enum.valueOf(Unknown Source)</code>

エラーメッセージは何を意味し、何が間違っているのですか?

4

1 に答える 1