I'm translating a Java (JDK 1.5) "enum" into Java ME (JDK 1.4).
Many people have suggested retroweaver to parse JDK 1.5 libraries to JDK 1.4 but I've got a lot of problems using it and I really want to get full control of my project due the HW limitations.
What's the best way to translate it or find an equivalent?
/**
Authentication enumerates the authentication levels.
*/
public enum Authentication
{
/**
No authentication is used.
*/
NONE,
/**
Low authentication is used.
*/
LOW,
/**
High authentication is used.
*/
HIGH,
/*
* High authentication is used. Password is hashed with MD5.
*/
HIGH_MD5,
/*
* High authentication is used. Password is hashed with SHA1.
*/
HIGH_SHA1,
/*
* High authentication is used. Password is hashed with GMAC.
*/
HIGH_GMAC;
/*
* Get integer value for enum.
*/
public int getValue()
{
return this.ordinal();
}
/*
* Convert integer for enum value.
*/
public static Authentication forValue(int value)
{
return values()[value];
}
}
答案 0 :(得分:2)
这篇1997年的文章展示了如何在Java中create enumerated constands。
我们的想法是拥有一个带有私有构造函数和公共常量的final类。使用的示例是:
public final class Color {
private String id;
public final int ord;
private static int upperBound = 0;
private Color(String anID) {
this.id = anID;
this.ord = upperBound++;
}
public String toString() {return this.id; }
public static int size() { return upperBound; }
public static final Color RED = new Color("Red");
public static final Color GREEN = new Color("Green");
public static final Color BLUE = new Color("Blue");
}