[ad_1]
私のコードは次のとおりです:
Java
int myInt = 56; double myDouble = myInt; System.out.println (myInt); System.out.println (myDouble);
私が試したこと:
間違いを受け入れることができません。
解決策 1
引用:Javaの型キャストエラー
これは、アプリケーション コードがクラス タイプ A のオブジェクトを別のクラス タイプ B にキャストしようとしたときに発生する実行時例外です。
しかし、上記のコードではそのような懸念は見当たりません。 変換できます int
に double
Javaでは代入演算子を使用します。 読む[^]。
引用:Java は、変換に関与する両方のデータ型に互換性がある場合、または小さいデータ型の値が大きいデータ型に割り当てられている場合に、暗黙的な変換または拡張変換を実行します。 Double はより多くの記憶領域を必要とするため、int よりも大きくなります。 したがって、int 値は Java によって暗黙的に double に変換されます。
Java
public static void main(String []args){ System.out.println("Hello, World!"); int myInt = 56; double myDouble = myInt; System.out.println (myInt); System.out.println (myDouble); } // Output as below // Hello, World! // 56 // 56.0
データ型を逆にすると、互換性のない型のエラーが確実に発生します。 例:
Java
double myInt = 56; int myDouble = myInt; System.out.println (myInt); // Errors as: //error: incompatible types: possible lossy conversion from double to int
Java
// creating an object Object o = new Object(); // type casting the object o to string which give the classcasted exception because we // type cast an parent type to its child type. String s = (String)o; // errors as // java.lang.ClassCastException: class java.lang.Object cannot be cast to class java.lang.String (java.lang.Object and java.lang.String are in module java.base of loader 'bootstrap')
[ad_2]
コメント