Junior — Middle
W jakich przypadkach można stosować modyfikator reified wewnątrz funkcji inline w Kotlinie?
sobes.tech AI
Odpowiedź od AI
W Kotlinie modyfikator reified jest stosowany tylko wewnątrz funkcji inline i pozwala uzyskać dostęp do typu parametru w czasie wykonywania, co zazwyczaj jest niemożliwe z powodu wymazywania typów (type erasure).
Użycie reified jest uzasadnione, gdy trzeba:
- Sprawdzić typ za pomocą
islub!is. - Utworzyć instancję typu za pomocą refleksji.
- Uzyskać klasę typu
T::classlubT::class.java.
Przykład:
inline fun <reified T> Gson.fromJson(json: String): T {
return this.fromJson(json, T::class.java)
}
Tutaj reified pozwala na użycie T::class.java wewnątrz funkcji, co jest niemożliwe bez inline i reified.