質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

8785閲覧

配列をArrayListに変換することについて

nejirin_boy

総合スコア21

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2018/01/04 16:23

###前提・実現したいこと
Javaで予定を入力してToDoリストを作りたいと思っています。
配列をArrayListに変換する機能を実装中に以下のエラーメッセージが出ました。

ご享受お願い致します。

###発生している問題・エラーメッセージ

sort14.java:21: エラー: ArrayListに適切なコンストラクタが見つかりません(List<ToDo>) ArrayList<Integer> ToDo = new ArrayList<Integer>(Arrays.asList(ToDoList)); ^ コンストラクタ ArrayList.ArrayList(int)は使用できません (引数の不一致: 型変数Tのインスタンスが存在しないので、List<T>はintに適合しません) コンストラクタ ArrayList.ArrayList(Collection<? extends Integer>)は使用できません (引数の不一致: 推論型が上限に適合しません 推論: ToDo 上限: Integer,Object) Tが型変数の場合: メソッド <T>asList(T...)で宣言されているTはObjectを拡張します 注意:一部のメッセージは簡略化されています。-Xdiags:verboseで再コンパイルして完全な出力を取得してください エラー1個

###該当のソースコード

Java

1import java.util.ArrayList; 2import java.util.Arrays; 3import java.util.List; 4import java.io.*; 5 6class ToDo{ 7 int month; 8 int day; 9 String item; 10 int priority; 11} 12 13class sort14 14{ 15 public static void main(String[] args)throws IOException 16 { 17 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 18 19 ToDo[] ToDoList = new ToDo[100]; //配列の宣言 20 21 ArrayList<Integer> ToDo = new ArrayList<Integer>(Arrays.asList(ToDoList)); 22 23 for(int i = 0; i < ToDo.size(); i++){ 24 ToDoList[i] = new ToDo(); 25 } 26 27 int num_items = 0; 28 } 29}

###試したこと
変数名を変えてコンパイルをしましたが通りませんでした。

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ToDoListはToDo型の配列であるため、Arrays.asListで渡した結果返ってくるのはList<ToDo>です。
このメソッドは配列をその型のListに変換するだけで、ToDoから勝手にIntegerに変換するということはしません。

java

1ArrayList<Integer> ToDo = new ArrayList<Integer>(Arrays.asList(ToDoList));

java

1ArrayList<ToDo> ToDo = new ArrayList<ToDo>(Arrays.asList(ToDoList));

投稿2018/01/04 16:30

編集2018/01/04 16:47
swordone

総合スコア20649

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nejirin_boy

2018/01/04 16:33

ご回答いただきありがとうございます。 ではどの様に改善すれば良いでしょうか?
swordone

2018/01/04 16:36

そもそも何をしたいのでしょう? 単にToDoの配列をListにしたいのか、ToDoの要素から何か整数要素を抜き出してListにしたいのか?
nejirin_boy

2018/01/04 16:42

ToDoの配列をListにしたいと思っています。
nejirin_boy

2018/01/04 16:57

できました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問