Scala中auxilary构造函数中枚举的默认值

时间:2015-06-27 08:36:17

标签: scala enums

我有一个UserContact类,它在构造函数中有一个枚举

class UserContact( val uuid: Int ,
                   var phone: String , 
                   var sms: Boolean ,
                   var pushNotification: Boolean , 
                   var deviceType: UserDeviceType , // Enum
                   var jabberID: String ){


}

现在我想在这个类中编写辅助构造函数,但我不知道如何为枚举提供默认值

我尝试过“_”但是没有用

def this(){ 
  this(0, "", false ,  false , _ ,  "")
  }

请帮助

1 个答案:

答案 0 :(得分:2)

你需要投入一些实际价值。只需查看UserDeviceType值,然后在此构造函数中选择所需的值。但你应该想想,如果你真的想要一个像这样的辅助构造函数;正如Peter Neyens的评论所解释的那样,在大多数情况下,它看起来都是一个糟糕的设计。

var x: SomeEnumType = _生成的“默认”值为null,与任何对象类型(包括String)相同,但这很少是您想要的(只应使用它)如果保证变量稍后初始化。)