覆盖enum的方法

枚举类中唯一能覆盖的也就是toString方法了

覆盖toString()方法,给我们提供了另一种方式来为枚举实现生成不同的字符串描述信息。在下面的示例中,我们使用的就是实例的名字,不过我们希望改变其格式。覆盖enumtoString()方法与覆盖一般类的方法没有区别:

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的名字,然后将其修改为只有首字母大写的格式。

results matching ""

    No results matching ""