... case-6ren">
gpt4 book ai didi

scala - 枚举类的“需要稳定的标识符”

转载 作者:行者123 更新时间:2023-12-02 08:21:51 25 4
gpt4 key购买 nike

在以下代码段中,

val line = ... // a list of String array 
line match {
case Seq("Foo", ... ) => ...
case Seq("Bar", ... ) => ...
...

我将上面的代码更改为以下代码:
object Title extends Enumeration  {
type Title = Value
val Foo, Bar, ... = Value
}

val line = ... // a list of String array
line match {
case Seq(Title.Foo.toString, ... ) => ...
case Seq(Title.Bar.toString, ... ) => ...
...

而且,我得到一个错误:
stable identifier required, but com.abc.domain.enums.Title.Foo.toString found.

在case语句中替换字符串的正确方法是什么?

最佳答案

toString是一个函数,该函数不能用于模式匹配。

我认为Enumeration可能不是您想要的。

为了匹配一个字符串,你可以

object Title {
val Foo = "Foo"
val Bar = "Bar"
}

line match {
case Seq(Title.Foo, ...) => ???
}

关于scala - 枚举类的“需要稳定的标识符”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36509303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com