Upgrade to Pro — share decks privately, control downloads, hide ads and more …

reifiedって何ですか?

usuiat
October 26, 2023

 reifiedって何ですか?

集まれKotlin好き!Kotlin愛好会 vol.47 @オンライン
https://love-kotlin.connpass.com/event/298008/

usuiat

October 26, 2023
Tweet

More Decks by usuiat

Other Decks in Programming

Transcript

  1. 自己紹介 Atsushi Usui / うっすぃ~ / usuiat もともと 組み込みソフトエンジニア 2020〜

    個人でAndroidアプリやライブラリを開発 2023/9~ Androidアプリエンジニア X/GitHub : usuiat Blog : https://engawapg.net/
  2. 疑問1 型情報って何? ジェネリクスが実行時に何の型(クラス)で動作しているか、の情報。  KClassが持つ情報  クラス名(.simpleName)、メンバー(.members)など  .java経由でJavaのClassにもアクセス可能 

    クラスに基づく処理  isによる型判定  asによるキャスト 型情報にアクセスできるので、 型が一致しているかを判定できる KClass https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/ Class https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html
  3. まとめ reified(リーファイド)は、inlineのジェネリクス関数で型情報にアクセスできるように するためのキーワード reifiedをつけることによって、ジェネリクスの型を判定したり、指定した型のオブ ジェクトを返したりできる 参考 Reified - Kotlin Vocabulary

    https://www.youtube.com/watch?v=Xj45hobMI78 Reified type parameters https://kotlinlang.org/docs/inline-functions.html#reified-type-parameters ジェネリクス: reified でジェネリクスの型情報を維持する – まくまくKotlinノート https://maku77.github.io/kotlin/generics/reified.html