基本型の型変換
データ型 | 変換可能なデータ型 |
---|
boolean | |
char | int, long, float, double |
byte | short, int, long, float, double |
short | int, long, float, double |
int | long, float, double |
long | float, double |
float | double |
double | |
参照型の型変換 - 実行時
変換元 | 変換先 | ルール |
---|
クラス型 | クラス型 | 変換先のクラスが、変換元のスーパークラスであること |
インタフェイス型 | 変換元のクラスは、変換先のインタフェイスを実装していること |
配列型 | |
インタフェイス型 | クラス型 | 変換先がObject型であること |
インタフェイス型 | 変換先のインタフェイスが、変換元のスーパーインタフェイスであること |
配列型 | |
クラス型 | クラス型 | 変換先がObject型であること |
インタフェイス型 | 変換先がCloneable、Serializableインタフェイスであること |
配列型 | 配列要素のデータ型に準じる |
参照型の型変換 - コンパイル時
変換元 | 変換先 | ルール |
---|
クラス型 | クラス型 | 変換元、先が継承関係であること |
インタフェイス型 | すべてok |
配列型 | 参照型の配列であること |
インタフェイス型 | クラス型 | すべてok |
インタフェイス型 | すべてok |
配列型 | |
クラス型 | クラス型 | 変換先がObject型クラスであること |
インタフェイス型 | |
配列型 | 配列要素のデータ型に準じる |