在一個項目中我的工作,我發現自己寫一些推廣方法對於某些類型的返回默認值,如果一個可選的爲空。如何在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