サンプル プロジェクトのクラスがあります。しかし、このクラスを使用すると、いくつかのエラーが表示されます。クラスを以下に示します。
public class q extends Enum
{
private int i = -1;
private String s = null;
private q(String s, int i)
{
// super(s, i);
this.s = s;
this.i = i;
}
public static q valueOf(String s)
{
return (q)Enum.valueOf(q.class, s);
}
public static q[] values()
{
return (q[])a.clone();
}
public static final q ANDROID_VERSION;
public static final q APP_VERSION_CODE;
public static final q APP_VERSION_NAME;
public static final q AVAILABLE_MEM_SIZE;
private static final q a[];
static
{
APP_VERSION_CODE = new q("APP_VERSION_CODE", 1);
APP_VERSION_NAME = new q("APP_VERSION_NAME", 2);
ANDROID_VERSION = new q("ANDROID_VERSION", 6);
AVAILABLE_MEM_SIZE = new q("AVAILABLE_MEM_SIZE", 11);
q aq[] = new q[34];
aq[0] = APP_VERSION_CODE;
aq[1] = ANDROID_VERSION;
aq[2] = APP_VERSION_NAME;
aq[3] = AVAILABLE_MEM_SIZE;
a = aq;
}
}
Enum を拡張すると、「型 q は Enum を明示的にサブクラス化できない可能性があります」というエラーが表示されます。これらのフィールドを使用して列挙型を作成するにはどうすればよいですか?
このクラスを enum のように使用するように変更するにはどうすればよいですか (つまり、ordinal()、valueOf(...) などのデフォルトの enum メソッドを使用したい)。