中級 › ClassCastException の原因と直し方 › パターン4
ClassCastException の原因と直し方
キャストは宣言にすぎず、実体が違えば実行時に落ちます。
1 public class Main { 2 public static void main(String[] args) { 3 Object o = Integer.valueOf(5); 4 Double d = ___________________________; ^ 5 System.out.println(d); 6 } 7 }
Exception in thread "main" java.lang.ClassCastException:
class java.lang.Integer cannot be cast to class java.lang.Doubleexited with code 1
空欄を埋めてビルドを通す
IntegerとDoubleはどちらもNumberのサブクラスですが、互いに直接キャストはできません。一度Integerとして受けてからdoubleValue()で変換します。
次の問題