在 kotlin 中处理可以 return null 的对象
handle a object that can return null in kotlin
Android Studio 3.0
我有 java 代码,我正在为我的项目转换为 Kotlin。
public String getAuthUserEmail() {
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String email = null;
if (user != null) {
email = user.getEmail();
}
return email;
}
我已经像这样将它转换为 koklin:
fun getAuthUserEmail(): String? {
val user: FirebaseUser? = FirebaseAuth.getInstance().currentUser
return user?.email
}
我只是想知道在我的 kotlin 版本中用户是否恰好为 null。我是否需要一个 if 条件来检查用户是否为空?
我可以将功能作为一条线
fun getAuthUserEmail(): String? {
return FirebaseAuth.getInstance().currentUser.email?
}
调用函数是否需要处理可能来自函数 return 的空字符串?
非常感谢您的任何建议
Should I need to have an if condition to check if the user is null?
根据 Firebase 的文档:
Returns the currently signed-in FirebaseUser or null if there is none.
Use getCurrentUser() != null to check if a user is signed in.
所以,这取决于你想在没有登录用户时如何处理。
如果你希望函数是单行的,你可以像这样链接它:
fun getAuthUserEmail(): String? {
return FirebaseAuth.getInstance().currentUser?.email
}
如果 currentUser
为空或 currentUser?.email
为空,它将 return 为空。
编辑:如果您只是想 return 发送电子邮件(如果存在)。写成一行就可以了,因为safe calls可以串起来
小建议。如果您确定对象不应为空,但可以为空,请使用 !!
将对象标记为不应为空的对象。如果应用程序崩溃没关系,因为它向您表明您在某些地方执行不当。查看您的实现结构以了解对象是否应为 null,许多开发人员过度使用 objet?.let
而没有查看此对象是否应为 null
I am just wondering in my kotlin version if the user happens to be
null. Should I need to have an if condition to check if the user is
null?
取决于你将如何处理场景的情况,但你可以形成
您的数据 Elvis Operator 方式如下:
fun getAuthUserEmail(): String? {
return FirebaseAuth.getInstance().currentUser?.email ? "No data"
}
Android Studio 3.0
我有 java 代码,我正在为我的项目转换为 Kotlin。
public String getAuthUserEmail() {
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String email = null;
if (user != null) {
email = user.getEmail();
}
return email;
}
我已经像这样将它转换为 koklin:
fun getAuthUserEmail(): String? {
val user: FirebaseUser? = FirebaseAuth.getInstance().currentUser
return user?.email
}
我只是想知道在我的 kotlin 版本中用户是否恰好为 null。我是否需要一个 if 条件来检查用户是否为空?
我可以将功能作为一条线
fun getAuthUserEmail(): String? {
return FirebaseAuth.getInstance().currentUser.email?
}
调用函数是否需要处理可能来自函数 return 的空字符串?
非常感谢您的任何建议
Should I need to have an if condition to check if the user is null?
根据 Firebase 的文档:
Returns the currently signed-in FirebaseUser or null if there is none.
Use getCurrentUser() != null to check if a user is signed in.
所以,这取决于你想在没有登录用户时如何处理。
如果你希望函数是单行的,你可以像这样链接它:
fun getAuthUserEmail(): String? {
return FirebaseAuth.getInstance().currentUser?.email
}
如果 currentUser
为空或 currentUser?.email
为空,它将 return 为空。
编辑:如果您只是想 return 发送电子邮件(如果存在)。写成一行就可以了,因为safe calls可以串起来
小建议。如果您确定对象不应为空,但可以为空,请使用 !!
将对象标记为不应为空的对象。如果应用程序崩溃没关系,因为它向您表明您在某些地方执行不当。查看您的实现结构以了解对象是否应为 null,许多开发人员过度使用 objet?.let
而没有查看此对象是否应为 null
I am just wondering in my kotlin version if the user happens to be null. Should I need to have an if condition to check if the user is null?
取决于你将如何处理场景的情况,但你可以形成 您的数据 Elvis Operator 方式如下:
fun getAuthUserEmail(): String? {
return FirebaseAuth.getInstance().currentUser?.email ? "No data"
}