Java ME:将基本 JDK 1.5 "enum" 对象转换为 Java ME CLDC-1.1/IMP-NG (JDK 1.4)

Java ME: transform basic JDK 1.5 "enum" object into Java ME CLDC-1.1/IMP-NG (JDK 1.4)

我正在将 Java (JDK 1.5) "enum" 翻译成 Java ME (JDK 1.4).

许多人建议 retroweaver 将 JDK 1.5 库解析为 JDK 1.4,但我在使用它时遇到了很多问题,我真的很想完全控制我的项目,因为硬件限制。

翻译它或找到对应词的最佳方法是什么?

/** 
 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];
    }
}

这篇 1997 年的文章展示了如何在 Java 中 create enumerated constands

我们的想法是拥有一个带有私有构造函数和 public 常量的最终 class。使用的例子是:

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");
}