Kotlin: typealiasを使ってめんどうなアノテーションを省略する
Created at Thu, Jul 12, 2018Kotlinではtypealiasと呼ばれる、既存のタイプに対して別名をつける機能があります。 https://kotlinlang.org/docs/reference/type-aliases.html
典型的な使い方として、下のような複雑な型に名前をつけると可読性が高くなります。
typealias MyHandler = (Int, String, Any) -> Unit
さらにtypealiasは、アノテーションをつけることも出来ます。
typealias NonWildcardList<T> = List<@JvmSuppressWildcards T>
JvmSuppressWildcards
はDagger(参考リンク)やretrofit(参考リンク)を使っていると、使わざるをえないケースがあるので、typealiasで定義していおけば可読性高く、楽することが出来ます。