私はEclipseを使用していますが、次のコードに完全に満足しています:
public interface MessageType
{
public static final byte KICK = 0x01;
public static final byte US_PING = 0x02;
public static final byte GOAL_POS = 0x04;
public static final byte SHUTDOWN = 0x08;
public static final byte[] MESSAGES = new byte[] {
KICK,
US_PING,
GOAL_POS,
SHUTDOWN
};
}
public class MessageTest implements MessageType
{
public static void main(String[] args)
{
int b = MessageType.MESSAGES.length; //Not happy
}
}
ただし、実行しているプラットフォームは、上記の行でクラッシュします。クラッシュによって、BSOD に相当すると考えてください。私のコードに何か問題がありますか? それとも、私のプラットフォーム用の Java VM の開発者を探す必要がありますか?
編集:
わかりました、あなたの応答に感謝します。Java VM のバグであることが判明しました。開発者 'gloomyandy' の言葉を引用すると、
これは、静的初期化子を持つインターフェイスの既知の問題です。現在の開発ビルドでは修正されています...