Kotlinには下のような基本型があるが、Javaと違ってプリミティブ型は用意されていない。全て普通のクラスのように扱える。String以外は、ボクシングする必要がない場合はコンパイラがプリミティブ型に最適化してくれる。
| 型 | 説明 |
|---|---|
| Double | 64ビット浮動小数点数 |
| Float | 32ビット浮動小数点数 |
| Long | 64ビット符号付き整数 |
| Int | 32ビット符号付き整数 |
| Short | 16ビット符号付き整数 |
| Byte | 8ビット符号付き整数 |
| Char | 1文字を表す文字型 |
| Boolean | 真偽値(trueまたはfalse) |
| String | 文字列 |
Javaの型と比較してみる。
| Kotlin | Java |
|---|---|
| Int | int |
| Double | double |
| Boolean | boolean |
| Int? | java.lang.Integer |
| Double? | java.lang.Double |
| Boolean? | java.lang.Boolean |
| List | java.util.List |
| Array | Integer[] |
| kotlin.String | java.lang.String |
?はnullを許容するという意味です。
String型だけはKotlin独自のクラスが存在します。
JavaDocを見てもらえばわかりますがJavaのString型はメソッド数も多く非常にわかりにくいです。そんなJavaのわかりずらい処理をラップして簡潔に作られています。