我创建了一个名为 "email" 的个人数据类型,如何使该类型的值可为空。
例如:
private lateinit var a: email?
或者
fun makeEmailAddress(a: String): email? {
// TODO
}
我创建了一个名为 "email" 的个人数据类型,如何使该类型的值可为空。
例如:
private lateinit var a: email?
fun makeEmailAddress(a: String): email? {
// TODO
}
lateinit var
在内部使用 null 来表示未初始化的值,因此从程序的角度来看,它们不能是可空类型。话虽如此,在大多数情况下,使用 lateinit var
的目的是延迟初始化而仍然使用非空类型,这个限制通常不是问题。
如果需要一个可空属性,只需删除 lateinit
修饰符并在声明时将其初始化为 null
:
private var a: Email? = null
对于函数声明,返回类型Email?
应该可以正常工作:
fun makeEmailAddress(a: String): Email? {
// return whatever you need here, either null or an Email instance
}
email
重命名为 Email
(在上面的示例代码中,我使用了大写版本)。makeEmailAddress
部分。很可能 makeEmailAddress
方法存在于父类/接口中,你正在尝试覆盖它,对吗? - Joffrey