logo

Java での型キャスト

Javaでは、 型キャスト 手動と自動の両方の方法で、データ型を別のデータ型に変換する方法またはプロセスです。自動変換はコンパイラによって実行され、手動変換はプログラマによって実行されます。このセクションでは、次のことについて説明します。 型キャスト そして その種類 適切な例とともに。

Java での型キャスト

型鋳造

値をあるデータ型から別のデータ型に変換することは、 型キャスト

Javaはファイルを1行ずつ読み取ります

型キャストの種類

型キャストには 2 つのタイプがあります。

  • 拡幅型鋳物
  • 絞り型鋳物

拡幅型鋳物

下位のデータ型を上位のデータ型に変換することを呼びます。 広がる 型キャスト。としても知られています 暗黙的な変換 または キャストダウン 。それは自動的に行われます。データが失われる心配がないので安心です。次の場合に発生します。

  • 両方のデータ型は相互に互換性がある必要があります。
  • ターゲットの型はソースの型より大きくなければなりません。
 byte -> short -> char -> int -> long -> float -> double 

たとえば、数値データ型から char または Boolean への変換は自動的には行われません。また、char データ型と Boolean データ型には互換性がありません。例を見てみましょう。

WideningTypeCastingExample.java

 public class WideningTypeCastingExample { public static void main(String[] args) { int x = 7; //automatically converts the integer type into long type long y = x; //automatically converts the long type into float type float z = y; System.out.println('Before conversion, int value '+x); System.out.println('After conversion, long value '+y); System.out.println('After conversion, float value '+z); } } 

出力

 Before conversion, the value is: 7 After conversion, the long value is: 7 After conversion, the float value is: 7.0 

上の例では、変数 x を取得して、long 型に変換しました。その後、long型をfloat型に変換します。

ナロータイプ鋳物

上位のデータ型を下位のデータ型に変換することを呼びます。 狭くなる 型キャスト。としても知られています 明示的な変換 または キャストアップ 。これはプログラマーによって手動で行われます。キャストを実行しない場合、コンパイラはコンパイル時エラーを報告します。

 double -> float -> long -> int -> char -> short -> byte 

ナローイング型キャストの例を見てみましょう。

キーボードに挿入する

次の例では、絞り込み型の鋳造を 2 回実行しています。まず、long型をint型に変換した後、double型をlong型に変換しています。

NarrowingTypeCastingExample.java

 public class NarrowingTypeCastingExample { public static void main(String args[]) { double d = 166.66; //converting double data type into long data type long l = (long)d; //converting long data type into int data type int i = (int)l; System.out.println('Before conversion: '+d); //fractional part lost System.out.println('After conversion into long type: '+l); //fractional part lost System.out.println('After conversion into int type: '+i); } } 

出力

 Before conversion: 166.66 After conversion into long type: 166 After conversion into int type: 166