Vivek Modi
10/14/2021, 9:38 AMenum class ConversationStatus(val status: String) {
OPEN("open"),
CLOSED("closed");
companion object {
private val mapByStatus = values().associateBy(ConversationStatus::status)
fun fromType(status: String): ConversationStatus {
return mapByStatus[status]
}
}
}
How can i avoid this ?Grégory Lureau
10/14/2021, 9:47 AMGrégory Lureau
10/14/2021, 9:49 AMfun fromType(status: String): ConversationStatus {
return mapByStatus[status]!!
}or any other more verbose way if you prefer:
fun fromType(status: String): ConversationStatus {
val cv = mapByStatus[status]
assert(cv != null) { "ConversationStatus.fromType cannot handle $status"}
return cv
}
Damian Zawadzki
10/14/2021, 9:55 AMfun fromType(status: String): ConversationStatus {
return requireNotNull(mapByStatus[status])
}
Vivek Modi
10/14/2021, 10:17 AMVivek Modi
10/14/2021, 10:18 AMDamian Zawadzki
10/14/2021, 10:21 AMVivek Modi
10/14/2021, 10:21 AMVivek Modi
10/14/2021, 10:21 AMDamian Zawadzki
10/14/2021, 10:27 AMfun a(a: String?){
requireNotNull(a)
a.length //no error without ? after a
}
by a contract mechanism inside.Vivek Modi
10/14/2021, 10:29 AMbezrukov
10/14/2021, 1:16 PMfun fromType(status: String): ConversationStatus {
return mapByStatus.getValue(status)
}