经过4年的.NET 2、Java5和6之后,我刚刚回到了MIDP的开发阶段。在这段时间里,我非常喜欢使用枚举。
Enum是一种语言特性,它允许开发人员对代码的某些部分有更多的信心,特别是能够在早期(编译期间)避免或检测错误。这里还可以找到其他一些优势:http://
我觉得奇怪的是,我在MIDP2.0中找不到它们。我收到了一条错误消息:
“类型'enum‘不应用作标识符,因为它是源级1.5中的保留关键字”
我以前在Java1.4方面有一些经验,但我不记得这一点。当然,你的高级语言的新版本也有一些你认为理所当然的特性.
无论如何,这里有一个很好的建议,如果没有它们(如果您正在开发MIDP或处理Java 5之前的代码):http://
总结一下(要获得更多的细节和更好的解释,请遵循前面的链接)。(非常感谢原作者):
//The typesafe enum pattern
public class Suit {
private final String name;
public static final Suit CLUBS =new Suit("clubs");
public static final Suit DIAMONDS =new Suit("diamonds");
public static final Suit HEARTS =new Suit("hearts");
public static final Suit SPADES =new Suit("spades");
private Suit(String name){
this.name =name;
}
public String toString(){
return name;
}
}对于这个问题,你还有其他不同的方法吗?
发布于 2009-08-03 20:02:40
MIDP的问题在于它停留在Java语言级别1.2 (有人说是1.3或1.4,但这不是重点),Enum是在1.5中引入的。您的模式向正确的方向迈出了一步,但缺乏一些“实”枚举的特性,比如为每个常量分配序号。
您可能在泛型、注释等方面遇到类似的问题,1.5中也引入了这些问题。有一些工具可以将Java1.5转换为1.2,有些工具列出了here。这样,您应该能够在1.5中编写代码并在MIDP上运行。但是,请注意,使用这些工具将使您的构建过程变得相当复杂,而您提到的解决方案则不会。
https://stackoverflow.com/questions/899398
复制相似问题