私が書いたこのコードは、例外を取得するように変換double
します。int
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Cannot cast from Double to int
これは私のコードです
Double d = 10.9;
int i = (int)(d);
Double
プリミティブ の上にあるラッパーdouble
クラスです。にキャストできますが、直接double
キャストすることはできません。int
double
の代わりに使用すると、次のDouble
ようにコンパイルされます。
double d = 10.9;
int i = (int)(d);
double
次のように、途中でキャストを追加することもできます。
int i = (int)((double)d);
Double
これは、ボックス化解除 (を double に変換primitive
) とキャストを混在させることができないためです。試す
int i = (int)(d.doubleValue());
これ
Double d = 10.9;
あなたのエラーです。データ型の代わりにラッパー クラスを使用しています。使用する
double d = 10.9;
Double のようなラッパーを int のようなプリミティブ型に直接キャストすることはできません。
あなたはこれを試すことができます -
int i = (int)((double)d);
詳細については、次のリンクを確認してください - http://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html