我在一个包中有两个枚举。
一个是状态。
object Status extends Enumeration{
type Status = Value
val ACTIVE , INACTIVE = Value
}
另一个是类型。
object Type extends Enumeration {
type Type = Value
val PAINTING , SCULPTURE , MANUSCRIPT= Value
}
我在艺术类中设置了两个。
class Art {
//some code
def setStatus(setStatus: Status) = {
status = setStatus
}
def settype(settype:Type) = {
type = settype
}
}
现在我尝试使用 withName()这样的函数从另一个类设置这些枚举。
class B {
// some code
val art = new Art
art.settype(withName("PAINTING"))
art.setStatus(withName("ACTIVE"))
}
它给了我这个错误。
对withName的引用不明确;它在同一个进口两次 范围由导入models.ArtModels.Type._和 import models.ArtModels.Status ._
请指导我如何解决。
答案 0 :(得分:0)
你可以指定你想要的那个
class B {
// some code
val art = new Art
art.settype(Type.withName("PAINTING"))
art.setStatus(Status.withName("ACTIVE"))
}
编辑:
如果您在另一个对象中定义枚举,则可以像这样指定
object Test extends App{
// some code
val art = new Art
art.settype(Models.Type.withName("PAINTING"))
art.setStatus(Models.Status.withName("ACTIVE"))
}
答案 1 :(得分:0)
方法' withName'是' scala.Enumeration'的功能。类。您必须从对象实例中显式调用它。
class B {
// some code
val art = new Art
art.setType(Type.withName("PAINTING"))
art.setStatus(Status.withName("ACTIVE"))
}