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>
エラーメッセージは何を意味し、何が間違っているのですか?