Junior — Middle
Milyen esetekben alkalmazható a reified módosító inline függvényeken belül Kotlinben?
sobes.tech MI
Válasz az MI-től
Kotlinban a reified módosító csak inline függvényeken belül alkalmazható, és lehetővé teszi a paraméter típusának elérését futási időben, ami általában nem lehetséges a típus eltávolítása (type erasure) miatt.
A reified használata indokolt, amikor:
- Ellenőrizni kell a típust
isvagy!issegítségével. - Példányt kell létrehozni a típus reflektálásával.
- Meg kell szerezni a típus osztályát
T::classvagyT::class.java.
Példa:
inline fun <reified T> Gson.fromJson(json: String): T {
return this.fromJson(json, T::class.java)
}
Itt a reified lehetővé teszi, hogy a T::class.java-t a függvényen belül használjuk, ami inline és reified nélkül nem lehetséges.