Java如何从枚举中选择随机值?

以下代码段将向您展示如何从枚举中选择随机值。首先,我们将创建一个具有三个有效值的enum被叫BaseColor。这些值是Red,Green和Blue。

为了让我们获得该BaseColor枚举的随机值,我们getRandomColor()在枚举中定义了一个方法。此方法使用java.util.Random创建随机值。然后将使用此随机值从枚举中选择一个随机值。

让我们看看下面的代码片段:

package org.nhooo.example.basic;

import java.util.Random;

public class EnumGetRandomValueExample {
    public static void main(String[] args) {
        // 选择一个随机的BaseColor 10次。
        for (int i = 0; i < 10; i++) {
            System.out.printf("color[%d] = %s%n", i, 
                    BaseColor.getRandomColor());
        }
    }

    /**
     * BaseColor enum.
     */
    private enum BaseColor {
        Red,
        Green,
        Blue;

        /**
         * Pick a random value of the BaseColor enum.
         * @return a random BaseColor.
         */
        public static BaseColor getRandomColor() {
            Random random = new Random();
            return values()[random.nextInt(values().length)];
        }
    }
}

代码段的输出:

color[0] = Blue
color[1] = Red
color[2] = Red
color[3] = Green
color[4] = Blue
color[5] = Blue
color[6] = Green
color[7] = Red
color[8] = Red
color[9] = Green