Java を Kotlin へ
Kotlin については Google の公式ドキュメントが多数あるが、Kotlin への変換という Codelabs の片隅にあった文章が、最初に知りたかったことだけが物凄く完結にまとまっていた。最初にこの文章にアクセスできていればと思ったほど。もちろん、Java ベースの Android プログラミングのベースがある人限定の話になるが。
| Java | Kotlin |
|---|---|
| final オブジェクト | val オブジェクト |
| equals() | == |
| == | === |
| データのみを保持するクラス | data クラス |
| コンストラクタでの初期化 | init ブロックでの初期化 |
| static フィールドおよび関数 | companion object で宣言されているフィールドと関数 |
| シングルトン クラス | object |
例えば、当初、companion object を見て、「何で Java の static オブジェクトと同じものを、わざわざ名前を変えて companion object とかいう名称にしているんだ?」と思ったが、実は良く考えられているようだ。Java の static オブジェクトの場合はオブジェクト毎の modifier として宣言するのに対して、Kotlin の companion object はクラス内のブロックとして宣言されている。これは可読性の点で優れている。
Kotlin は Java をベースにしながらも、(上の表からは割愛されているが)埋め込みテキストなど、可能な限り、可読性のために Python などのスクリプト系言語の簡潔な表現を取り入れようとしている感じかもしれない。

コメント
コメントを投稿