Open LeoAndo opened 2 years ago
機能 | Java | Kotlin |
---|---|---|
ファイルのコンテンツ | 1 つのファイルには、1 つの最上位クラスが含まれます | 1つのファイルには、複数のクラス、変数や関数を含むことができる |
変数 | final を使用して変数を不変にします。 変数はデフォルトで変更可能です。 クラス レベルで定義されます | valを使用して変数を不変にします。varで変更可能です。変数はクラスの外に独立して存在する可能性があります |
型推論 | Date date = new Date(); のように型指定しないといけない | val date = Date() のように型指定を省略可能。型推論効く |
BoxingとUnBoxing型 | Integer / int | Kotlinはprimitiveを扱わない。全てオブジェクトととして扱う。コンパイル後のbytecodeレベルでは自動的にunboxingされ intに変換される ※1 |
デフォルト アクセス修飾子 | package | デフォルトはpublicで、packageは言語仕様上存在しない。internalはモジュールスコープ |
Kotlinは、Javaと相互運用するように設計されています。 Kotlinは他のプラットフォーム(iOS、WebAssembly、Kotlin / JSなど)をサポートしています。 KotlinはJVMのサポートしていてJavaバイトコードにコンパイルできるため、JVMが実行されている場所ならどこでも実行できます。
Javaと同じようにKotlinは静的型付け言語になります。