覆盖enum的方法
枚举类中唯一能覆盖的也就是toString方法了
覆盖toString()方法,给我们提供了另一种方式来为枚举实现生成不同的字符串描述信息。在下面的示例中,我们使用的就是实例的名字,不过我们希望改变其格式。覆盖enum的toString()方法与覆盖一般类的方法没有区别:
public enum SpaceShip {
SCOUT, CARGO, TRANSPORT, CRUISER, BATTLESHIP, MOTHERSHIP;
@Override
public String toString() {
String id = name();
String lower = id.substring(1).toLowerCase();
return id.charAt(0) + lower;
}
public static void main(String[] args) {
for (SpaceShip s : values()) {
System.out.println(s);
}
}
}
/*
Scout
Cargo
Transport
Cruiser
Battleship
Mothership
*/
toString()方法通过调用name()方法取得SpaceShip的名字,然后将其修改为只有首字母大写的格式。