我们可以在java中使用C ++类型枚举吗?

时间:2011-08-09 10:02:23

标签: java oop enums

在C ++中,我们可以使用以下类型的枚举:

enum e_acomany {    Audi=4,     BMW=5,      Cadillac=11,    Ford=44,    Jaguar=45,      Lexus,      Maybach=55,     RollsRoyce=65,      Saab=111  };

我们可以在java中使用类似的枚举吗?这个问题可能看似幼稚,但我是java enum的新手,请给我答案,并提供一些示例链接。

4 个答案:

答案 0 :(得分:7)

您可以使用关联的数字定义枚举值:

public enum Company {

    AUDI(4), BMW(5), CADILLAC(11), FORD(44), JAGUAR(45), ...;

    private final int id;

    private Company(int id) {
        this.id = id;
    }
}

然后,您可以编写自己的方法将id转换为Company值。但是从根本上说,在Java和C ++中,枚举是完全不同的,你可能想要在完全相同的情况下使用它们。

答案 1 :(得分:1)

非常好。但语法有点不同。看这里:http://download.oracle.com/javase/1,5.0/docs/guide/language/enums.html

答案 2 :(得分:0)

是的,枚举存在于Java中(因为版本5我相信)

public enum Day {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY, 
    THURSDAY, FRIDAY, SATURDAY 
}

请参阅http://download.oracle.com/javase/tutorial/java/javaOO/enum.html

答案 3 :(得分:0)

是。以这种方式定义你的枚举:

public enum Color {
    RED, GREEN, BLUE
}

并像这样使用它:

Color carColor = RED;
if ( carColor == RED )
    carColor = BLUE;