私は数独ソルバーの作成に取り組んでおり、グリッドを int の arraylist の arraylist として保存したいと考えています...各スポットには、可能なすべての数値 (または確定値) の int の arraylist があります。
ArrayList<ArrayList<int>> sudoku_board = new ArrayList <ArrayList<int>>();
Javaは、intで「トークンの後に期待される次元」というエラーをスローしています。
私は数独ソルバーの作成に取り組んでおり、グリッドを int の arraylist の arraylist として保存したいと考えています...各スポットには、可能なすべての数値 (または確定値) の int の arraylist があります。
ArrayList<ArrayList<int>> sudoku_board = new ArrayList <ArrayList<int>>();
Javaは、intで「トークンの後に期待される次元」というエラーをスローしています。
ジェネリック型パラメーターには、プリミティブ型ではなく参照型が必要です。使用する
List<ArrayList<Integer>> sudoku_board = new ArrayList <ArrayList<Integer>>();
また、インターフェイスにコーディングするときは、参照型としてインターフェイスを使用します。この場合はList
. genericsの共分散がないため、generics 内に表示されるものはすべて実装型のままにする必要があります。
@assylias コメントから、より一般的なタイプのリストは
List<List<Integer>> list = new ArrayList<List<Integer>>();
これにより、後でリファクタリングが必要になった場合に追加されるList
以外の実装タイプが可能になります。ArrayList
Integer
代わりにラッパー クラスを使用してくださいprimitive
。
ArrayListprimitive
は type として許可されませんargument
。
List<ArrayList<Integer>> list= new ArrayList <ArrayList<Integer>>();
Arraylist は、プリミティブではなくオブジェクトを格納するために使用されるため、それに応じて署名を変更してください。