JavaのArrayListについて質問します。
Class A extends OyaA
の関係があります。
ArrayList<A> arrayA
と
ArrayList<OyaA> arrayOyaA
で
arrayOyaA=(ArrayList<OyaA>)arrayA;
arrayA=(ArrayList<A>) arrayOyaA;
のCastを行いたいとおもいます。コンパイルエラーになってしまいます。
Castする方法はありますでしょうか。
なければ上手くデータ変換する方法を教えてください。
何卒宜しくお願い致します。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
>arrayA=arrayOyaA;は同じコンパイルエラーが発生しました。
>arrayOyaA=arrayA;はエラーが発生しませんでした。
キャストする前提だと思ったんですけど(だからわざわざキャストまでは書かなかった)違ったんでしょうか?
No.3
- 回答日時:
Genericsの型チェックを行わないリストを使えばいいのでは?
ArrayList<A> arrayA;
ArrayList<OyaA> arrayOyaA;
ArrayList noTypedList = new ArrayList();
noTypedList = arrayA;
arrayOyaA = noTypedList;
noTypedList = arrayOyaA;
arrayA = noTypedList;
ただ、このコードレビューを私が担当したら、やり直させます。
ご教授していただいたコードは確かにコンパイルエラーが発生しませんでした。
コードレビューでやり直しにならない方法を、お手数掛けますが、ご教授していただければ幸いです。
No.2
- 回答日時:
OyaAとAのスーパークラス,サブクラスの関係にありますけど、
ArrayList<OyaA>とArrayList<A>はスーパークラス,サブクラスの関係にないので当然です。
やるとするなら
ArrayList<A> arrayA
と
ArrayList<? extends OyaA> arrayOyaA
ご指摘の通り、ArrayList<OyaA>とArrayList<A>はスーパークラス,サブクラスの関係にないのは理解できます。
以下のようにしても、
ArrayList<A> arrayA
と
ArrayList<? extends OyaA> arrayOyaA
arrayA=arrayOyaA;は同じコンパイルエラーが発生しました。
arrayOyaA=arrayA;はエラーが発生しませんでした。
ご教授ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでArrayListを使う為の「mscorlib.tlb」の参照設定について 3 2022/03/23 19:45
- Java 自作Androidアプリのデータ引き継ぎ方法について。 Android Studio でアプリを作成 1 2022/08/13 21:44
- 画像編集・動画編集・音楽編集 Corel VideoStudio Pro X8 で、SWFをmp4に変換する方法 1 2022/05/06 22:19
- Android(アンドロイド) テレビとスマホのミラーリングについて 3 2022/12/06 20:04
- Excel(エクセル) マクロの編集 5 2023/06/08 17:34
- JavaScript javascriptで文字挿入でtoggleみたいなのはありますか? 2 2023/02/14 21:53
- Excel(エクセル) 特定のデータの抽出方法を教えてください@Excel 4 2023/06/13 18:38
- C言語・C++・C# C言語のコンパイルエラーについて 1 2022/05/14 22:28
- Windows 10 Microsoft IMEを無効化する方法 1 2022/07/28 08:20
- Excel(エクセル) 【至急 詳しい方教えて下さい】Excelの表を変換したい 6 2022/04/21 18:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipseで、プロジェクト名のと...
-
enum列挙子に使える文字列と使...
-
JDK6なのにGenericsでエラー「...
-
tomcat起動時エラー
-
Javaの配列に関するエラーに関して
-
EZアプリ(Java)作成時の環境に...
-
このソースのコンパイルできま...
-
Android Studioでシンボルが見...
-
androidアプリ開発 ネット上の...
-
Win32コンソールアプリでnamesp...
-
javaもしくはjava3Dをつかって
-
Javaのエラーについてです
-
JSP/サーブレットで一般的な入...
-
アラートをプログラムで消す方法
-
メインクラス○○.classが見つか...
-
java socketエラーについて
-
Javaプログラムのエラー
-
mysqlのgetConnectionでエラー
-
java eclipse apache tomcat 9....
-
マイクラjavaでForgeを入れたい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipseで、プロジェクト名のと...
-
シンボルが見つかりませんとい...
-
エラー:org.springframeworkが...
-
tomcat起動時エラー
-
Javaのエラーについてです
-
タグが閉じてないというエラー...
-
コンパイル時にエラーが出てし...
-
構文エラーのやり直しについて
-
eclipseをバージョンアップした...
-
eclipseでのsvn認証エラー回避方法
-
Eclipseで次のエラー箇所にジャ...
-
JBossについて
-
JSPの表示時エラー
-
「型 ArrayList は総称ではあり...
-
Win32コンソールアプリでnamesp...
-
Eclipseの環境について
-
致命的: StandardServer.await:...
-
javaw.exeプロセスが正常起動し...
-
getParameterについて
-
JSP内でString型からint型に変...
おすすめ情報