繁体   English   中英

在Java切换案例中使用Scala枚举

[英]Using a Scala enum in a Java switch-case

我有一个scala枚举:

object EnumX extends Enumeration {
  type EnumX = Value
  val A = Value("a")
  val B = Value("b")
}

现在,我想在Java类中使用这些枚举:

fun (String eventType) {
switch (EnumX.withName(eventType)) {
       //Error, Constant value required
       case EnumX.A():
         System.out.println("Event successful");
         break; 
       default: 
         System.out.println("Event unsuccessful"); 
         break;
  }
}

如何在Java切换大小写中使用Scala枚举,而不会出现任何错误?

答案很简单:您不能。 您只能在Java switch使用一些东西,Scala Enumeration不能编译为任何东西。

不幸的是,互操作性的最佳实践是即使在Scala项目中也只是用Java编写枚举。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM