Blog

Twoja wymarzona praca? Lets Git IT.
Interaktywna platforma przygotowująca do rozmów technicznych dla nowoczesnych programistów.

XGitHub

Platforma

  • Kategorie

Zasoby

  • Blog
  • O aplikacji
  • FAQ
  • Sugestie

Prawne

  • Polityka prywatności
  • Regulamin

© 2025 LetsGit.IT. Wszelkie prawa zastrzeżone.

LetsGit.IT/Kategorie/Kotlin
Kotlinhard

Czym są reified generics i czemu wymagają `inline`?

Tagi
#reified#inline#generics
Wróć do kategoriiPrzejdź do quizu

Odpowiedź

Przez type erasure informacja o typie generycznym nie jest dostępna w runtime. `reified` w funkcji `inline` zachowuje typ w miejscu wywołania, więc możesz użyć np. `T::class` albo `value is T`.

inline fun <reified T> Any?.asTypeOrNull(): T? = this as? T

val x: Any = 123
val n: Int? = x.asTypeOrNull<Int>()

Powiązane pytania

Kotlin
Inline lambdy i non-local return: do czego służą `crossinline` i `noinline`?
#kotlin#inline#crossinline
Kotlin
Wariancja generyków: co oznacza `out` i `in` w Kotlinie?
#kotlin#generics#variance
Kotlin
Co robi `inline` i kiedy może pomóc wydajnościowo?
#inline#performance#lambdas
Java
Co to jest type erasure w generykach Javy i jakie daje ograniczenia?
#java#generics#type-erasure