我试图从函数返回布尔值.
fun validateDetails(jabberId:String, passwordText: String) {
if(jabberId.isEmpty()){
jabber_id.requestFocus()
jabber_id.error="Jabber id can't be null."
return false
}else if(jabberId.isBlank()){
jabber_id.requestFocus()
jabber_id.error="Jabber id can't be blank."
return false
}else if (passwordText.isNotEmpty()){
password.requestFocus();
password.error="Password can't be null."
return false
}
else{
return true
}
}
Run Code Online (Sandbox Code Playgroud)
错误:布尔文字不符合预期的类型单位.
我知道unit是kotlin中的默认返回类型.我将如何将其更改为布尔值.
Jef*_*res 11
Kotlin只能在表达式时推断出函数的返回类型,所以如果你的函数有一个体,你需要在函数参数后指定返回的类型
fun functionName(param: Type...): ReturnedType {
//function body
}
fun validateDetails(jabberId:String, passwordText: String):Boolean {
if(jabberId.isEmpty()){
jabber_id.requestFocus()
jabber_id.error="Jabber id can't be null."
return false
}else if(jabberId.isBlank()){
jabber_id.requestFocus()
jabber_id.error="Jabber id can't be blank."
return false
}else if (passwordText.isNotEmpty()){
password.requestFocus();
password.error="Password can't be null."
return false
}
else{
return true
}
}
Run Code Online (Sandbox Code Playgroud)
正如glee8e所提到的,这可以使用表达式来完成.这就是它的完成方式.
fun validateDetails(jabberId:String, passwordText: String) = when {
jabberId.isEmpty() -> {
jabber_id.requestFocus()
jabber_id.error="Jabber id can't be null."
false
}
jabberId.isBlank() -> {
jabber_id.requestFocus()
jabber_id.error="Jabber id can't be blank."
false
}
passwordText.isNotEmpty() -> {
password.requestFocus();
password.error="Password can't be null."
false
}
else -> true
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12195 次 |
| 最近记录: |