Sobes.tech
Junior — Middle

რა შემთხვევებში შეიძლება გამოიყენოს reified მორფი Kotlin-ის inline-ფუნქციებში?

sobes.tech AI

პასუხი AI-სგან

Kotlin-ში, reified მოდიფიკატორი გამოიყენება მხოლოდ inline ფუნქციების შიგნით და საშუალებას აძლევს წვდომა ჰქონდეს პარამეტრის ტიპზე შესრულების დროს, რაც ჩვეულებრივ შეუძლებელია ტიპების წაშლის (type erasure) გამო.

reified გამოყენება სამართლიანია, როდესაც:

  • საჭიროა ტიპის შემოწმება is ან !is გამოყენებით.
  • ტიპის ინстанციის შექმნა რეფლექსიის საშუალებით.
  • მიიღოთ ტიპის კლასი T::class ან T::class.java.

მაგალითი:

inline fun <reified T> Gson.fromJson(json: String): T {
    return this.fromJson(json, T::class.java)
}

აქ, reified საშუალებას აძლევს გამოიყენოს T::class.java ფუნქციის შიგნით, რაც შეუძლებელია inline და reified გარეშე.