Java の型キャスト

型キャストとは、あるプリミティブ データ型の値を別の型に割り当てることです。

Java には 2 種類のキャストがあります:

  • ワイドニング キャスト (自動的に) - 小さい文字サイズを大きい文字サイズに変換します
    byte -> short -> char -> int -> long -> float -> double
     
  • 絞り込みキャスト (手動) - 大きい型を小さいサイズの型に変換します
    double -> float -> long -> int -> char -> short -> byte

ワイドニングキャスト

拡大キャストは、小さいサイズの型を大きいサイズの型に渡すときに自動的に行われます。

public class Main {
  public static void main(String[] args) {
    int myInt = 9;
    double myDouble = myInt; // 自動キャスト: int から double

    System.out.println(myInt);      // 出力 9
    System.out.println(myDouble);   // 出力 9.0
  }
}

結果

9
9.0

ナローイングキャスト

絞り込みキャストは、値の前に型を括弧で囲んで手動で行う必要があります。

public class Main {
  public static void main(String[] args) {
    double myDouble = 9.78d;
    int myInt = (int) myDouble; // 手動キャスト: double から int

    System.out.println(myDouble);   // 出力 9.78
    System.out.println(myInt);      // 出力 9
  }
}

結果

9.78
9