【发布时间】:2012-10-25 13:56:53
【问题描述】:
如果枚举实现了 Comparable 那为什么不能与 比较?
public class Dream
{
public static void main(String... args)
{
System.out.println(PinSize.BIG == PinSize.BIGGER); //false
System.out.println(PinSize.BIG == PinSize.BIG); //true
System.out.println(PinSize.BIG.equals(PinSize.BIGGER));//false
System.out.println(PinSize.BIG > PinSize.BIGGERER);// compilation error
//can't be compared
System.out.println(PinSize.BIG.toString().equals(PinSize.BIGGER));// #4
PinSize b = PinSize.BIG ;
System.out.println( b instanceof Comparable);// true
}
}
enum PinSize { BIG, BIGGER, BIGGERER };
【问题讨论】:
-
这个问题与 SCJP/OCPJP 有什么关系?
-
在考试主题中 第 1 节:声明、初始化和范围 * 开发声明类(包括抽象类和所有形式的嵌套类)、接口和枚举的代码,并包括适当使用包和导入语句(包括静态导入)。 * 开发声明、初始化和使用原语、数组、枚举和对象作为静态、实例和局部变量的代码。此外,对变量名使用合法标识符。 education.oracle.com/pls/web_prod-plq-dad/…