xianwei
发贴: 5
积分: 0
|
于 2005-11-07 21:40
枚举类型 JAVA 对枚举的支持不好,但是下面的代码是一种很有用的模板:
class Colour { public static final Colour BLACK = new Colour(0, 0, 0); public static final Colour RED = new Colour(0xFF, 0, 0); public static final Colour GREEN = new Colour(0, 0xFF, 0); public static final Colour BLUE = new Colour(0, 0, 0xFF); public static final Colour WHITE = new Colour(0xFF, 0xFF, 0xFF); }
这种技术实现了RED, GREEN, BLUE 等可以象其他语言的枚举类型一样使用的常量。 他们可以用 '==' 操作符来比较。 但是这样使用有一个缺陷:如果一个用户用这样的方法来创建颜色 BLACK
new Colour(0,0,0)
那么这就是另外一个对象,'=='操作符就会产生错误。她的 equal() 方法仍然有效。由于这个原因,这个技术的缺陷最好注明在文档中,或者只在自己的包中使用。
我想问一下,最后一段是什么意思,这是我看有篇文章看到的,他说JAVA对枚举的支持不是很好,但我不是很清楚为什么不是很好,希望有人可以指点一下
|