In einem Projekt, an dem ich gerade arbeite, habe ich festgestellt, dass ich einige Erweiterungsmethoden für einige Typen schreibe, um einen Standardwert zurückzugeben, wenn ein optionales NULL ist.Wie schreibe ich eine generische Erweiterungsmethode in Kotlin?
Zum Beispiel kann ich einen Boolean?
Gegenstand habe, und ich möchte es in einem bedingten Ausdruck falsch vorbelegt verwenden, also würde ich schreiben:
if (myOptional?.default(false)) { .. }
ich dies für ein paar Typen geschrieben habe:
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
}
ich frage mich, ob es einen Weg, dies allgemein zu tun, so kann ich eine Erweiterungsmethode schreiben, die ich für alle Arten verwenden kann?
Was ist der Sinn? Warum nicht '?:' Direkt verwenden? Es ist sowohl Standard als auch prägnanter. –
.... Ich habe keinen wirklichen Grund, ich denke, lol. Es war nur eine persönliche Präferenzroute, die ich anfing nach unten zu gehen. – AdamMc331
Bitte beachten Sie, dass "?." In der "if" ist ein Überschuss – voddan