この記事はKotlin 1.3.10でのinline classについて解説しています。 現状ではExperimentalなAPIなので、破壊的な変更がある場合があります。 inline classes ビジネスロジックのためにラッパークラスが必要となることはありますが、ランタイムのオーバーヘッドやヒープを無駄遣いするといったことが起こります。特にラッピングしている型がプリミティブな場合、パフォーマンスはとても悪くなります。 これらの問題を解決するためにinline classが導入されました。 inline classはinline修飾子をクラスの前に置くことで宣言できます。 公式ドキュメントにある仕様のまとめ 単一のプロパティを持ち、プライマリコンストラクタで初期化しなくてはならない。2つのプロパティを持つことはできない。 Read-Onlyプロパティと関数を持つことができる。 実際に