比较两个对象的枚举的索引,计算哪个是更高和更低

时间:2016-04-11 20:21:26

标签: java

只是想询问如何比较两个对象的枚举索引:

          enum Face {ACE,TWO,THREE,FOUR,FIVE}
            static final Face[] FACES = Face.values();

            static final Random RAND = new Random();
            public static Red_Dog random() 
                {
                    return new Red_Dog(SUITS[RAND.nextInt(SUITS.length)], 
                                        FACES[RAND.nextInt(FACES.length)]);
                }
            public static void main(String[] args) 
                {
                Scanner input = new Scanner(System.in);
                Red_Dog c1 = Red_Dog.random();
                Red_Dog c2 = Red_Dog.random();
                while(c1.equals(c2))
                    {
                        c1 = Red_Dog.random();
                        c2 = Red_Dog.random();
                    }
                System.out.println("First card: "+c1 +  " Second card: " + c2);


                Result: First card: FIVE Second card: TWO

我想比较第一张牌(c1 - 第一对象)和第二张牌(第二张 - 第二对象)。我需要使用哪些方法?

1 个答案:

答案 0 :(得分:0)

您可以使用序数()方法获取枚举的索引。因此,通过检查c1.ordinal()== c2.ordinla(),您可以检查它们的索引是否相等。但是如果你想检查Enum的相等性,你可以用==检查,不需要检查索引。

以下是有关ordinal

的信息