Java 向enum scala添加静态方法

Java 向enum scala添加静态方法,java,scala,enums,Java,Scala,Enums,我在java中有一个类,其中我给出了一些常量作为enum,我有一个静态方法,它返回enum的随机值,如下所示 import java.util.Random; public enum Highway { NH4, NH17, NH27, NH28; public static Highway getRandomHighway(){ Random random = new Random(); return values(

我在java中有一个类,其中我给出了一些常量作为enum,我有一个静态方法,它返回enum的随机值,如下所示

import java.util.Random;

public enum Highway {

    NH4,
    NH17,
    NH27,
    NH28;

    public static Highway getRandomHighway(){
        Random random = new Random();
        return values()[random.nextInt(values().length)];
    }
}
import scala.util.Random

object Highway extends Enumeration {

 val NH4,NH17,NH27,NH28 = Value



 def getRandomHighway(): Highway.Value = {

   Highway.values.toVector(new Random().nextInt(Highway.values.size))

 }
我正试图在Scala实现同样的目标。我试过如下方法

import java.util.Random;

public enum Highway {

    NH4,
    NH17,
    NH27,
    NH28;

    public static Highway getRandomHighway(){
        Random random = new Random();
        return values()[random.nextInt(values().length)];
    }
}
import scala.util.Random

object Highway extends Enumeration {

 val NH4,NH17,NH27,NH28 = Value



 def getRandomHighway(): Highway.Value = {

   Highway.values.toVector(new Random().nextInt(Highway.values.size))

 }

我想知道这是否是scala中上述java类的正确方法

是的,很好你可以将
new Random
提取到私有字段。是的,很好你可以将
new Random
提取到私有字段。