Object配列からInteger配列へのキャストエラー
2023-09-26 18:25:19
質問
以下のコードのどこが問題なのでしょうか?
Object[] a = new Object[1];
Integer b=1;
a[0]=b;
Integer[] c = (Integer[]) a;
このコードには、最後の行で次のようなエラーがあります。
スレッド "main" java.lang.ClassCastException で例外が発生しました。 [Ljava.lang.Object; cannot be cast to [Ljava.lang.Integer.Ljava.lang.Object];
どのように解決するのですか?
ロス君、Arrays.copyof()やArrays.copyOfRange()も使えるよ。
Integer[] integerArray = Arrays.copyOf(a, a.length, Integer[].class);
Integer[] integerArray = Arrays.copyOfRange(a, 0, a.length, Integer[].class);
ここで
ClassCastException
の配列は扱えません。
Integer
の配列として扱うことができないということです。
Object
.
Integer[]
のサブタイプです。
Object[]
のサブタイプですが
Object[]
は
Integer[]
.
また、以下のようにしても
ClassCastException
.
Object[] a = new Integer[1];
Integer b=1;
a[0]=b;
Integer[] c = (Integer[]) a;
関連
-
Eclipseは、ポップアップA Java Exception has occurred.を実行し、エラーException in threadの解決策を報告します。
-
switch case文のcaseの後の列挙定数は列挙型なし
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] Javaで配列に特定の値が含まれているかどうかを判断するにはどうすればよいですか?
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
-
[解決済み] Java の配列を表示する最も簡単な方法は何ですか?
-
[解決済み] ダイレクトキャスト vs 'as'演算子?
-
[解決済み] reinterpret_castはいつ使うのか?
-
[解決済み] .jarを実行しようとすると "無効な署名ファイル "と表示される
-
[解決済み】なぜJavaの+=, -=, *=, /=複合代入演算子はキャスティングを必要としないのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Eclipseは、ポップアップA Java Exception has occurred.を実行し、エラーException in threadの解決策を報告します。
-
java.sql.SQLException: executeQuery()でデータ操作文を発行できません。
-
Springの設定でxsdファイルのバージョン番号を設定しない方が良い理由
-
unsigned char* から const jbyte* {aka const signed char*} への変換が無効です。
-
Javaジェネリックを1つの記事で
-
FindBugの使用概要
-
アノテーション「@Retention」の役割
-
Javaがリソースリークに遭遇した:'input'が閉じない 解決方法
-
ecplise プロンプトが表示されます。"選択したものは起動できません。" "最近の起動はありません。"
-
Java の double データ型における 0.0 と -0.0 の問題