Java Enum Part 1

本文介绍了Java中枚举的简单使用方法,包括如何定义枚举类型、枚举的静态方法以及如何在类中嵌套使用枚举类型来实现复杂的功能。通过示例代码展示了如何在类中生成多样化的菜单选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Enum的简单使用

package enumtest;

public enum Enum1 {
    MONDAY, SUNDAY;
    
    public static void main(String[] args) {
        for (Enum1 e : Enum1.values()) {
            System.out.println(e);
        }
    }
}

输出

MONDAY
SUNDAY

嵌套使用

package enumtest;

import java.util.Random;

public enum Test {
    /** 注意此处枚举实例的写法
     * 首先枚举实例必须在其他所有方法之前声明
     * 然后是他的语法,如果你有一个 EAT(String) 的枚举实例
     * 则你下面必须也有一个同名的构造方法,例如 Test(String s)
     *  **/
    EAT(Food.Eat.class),
    DRINK(Food.Drink.class);
    
    /** 为了实现枚举的嵌套使用,这里使用接口
     * 注意接口内的枚举必须要实现接口
     * 否则下面的构造方法将无法通过一个方法就获得不同类型的枚举的所有实例
     *  **/
    interface Food {
        enum Eat implements Food { BEEF, PORK, RICE, BREAD };
        enum Drink implements Food { JUICE, WATER, BEER, WINE };
    }
    
    private Random rand = new Random(47);
    private Food[] values;

    private Test(Class<? extends Food> kind) {  // 此处必须要有和枚举实例同名的构造方法
        values = kind.getEnumConstants();
    }
    
    private Food randomSelect() {
        return values[rand.nextInt(values.length)];
    }
    
    public static void main(String[] args) {
        // 生成菜单
        for (int i = 0; i < 4; i++) {
            for (Test food : Test.values()) {
                System.out.println(food.randomSelect());
            }
            System.out.println("----------------------");
        }
    }
}

输出

RICE
BEER
----------------------
PORK
WATER
----------------------
RICE
BEER
----------------------
BEEF
JUICE
----------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值