我做了一个个人数据类型“email” 我怎样才能使这种类型的值可以为空。
例如。
private lateinit var a: email?
或
fun makeEmailAddress(a: String): email? {
// TODO
}
最佳答案
lateinit var
在后台使用 null 来表示未初始化的值,因此从程序的角度来看,它们不能是可为 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
}
请注意,按照惯例,Kotlin 中的类型都是大写的,因此我建议您将 email
重命名为 Email
(我在上面的示例代码中使用了大写版本)。
关于kotlin - 如何在 Kotlin 中设置自定义返回类型可为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70187167/