在一个项目中我的工作,我发现自己写一些推广方法对于某些类型的返回默认值,如果一个可选的为空。如何在Kotlin中编写通用扩展方法?
例如,我可能有一个Boolean?
对象,我想用它在条件表达式默认为false,所以我会写:
if (myOptional?.default(false)) { .. }
我写这几类:
fun Boolean?.default(default: Boolean): Boolean {
return this ?: default
}
fun Long?.default(default: Long): Long {
return this ?: default
}
fun Int?.default(default: Int): Int {
return this ?: default
}
我不知道是否有一种方法一般地做到这一点,所以我可以写,我可以使用所有类型的一个扩展方法?
有什么意义?为什么不直接使用'?:'?它既标准又简洁。 –
....我没有真正的理由我猜大声笑。这只是我开始走下坡路的个人偏好路线。 – AdamMc331
请注意,'的'if'?.'是多余的 – voddan