Best Practice "Unchecked Assignment" Warnung beim erstellen eines 2D Arrays of Arraylists

paulen1

Mitglied
Moin,

für die Uni erstellen wir derzeit eine Sudoku-Solver Anwendung. Für das Sudoku nutzen wir ein 9x9 Feld. In jedem Feld ist dabei eine Arraylist, die alle noch möglichen Kandidaten beinhaltet.
Beim erstellen dieses Konstruktes bekommen wir von IntelliJ aber immer die "Unchecked assignment: 'java.util.ArrayList[][]' to 'java.util.ArrayList<java.lang.Integer>[][]'" Warnung.
Hat jemand einen Vorschlag, wie man dieses Konstrukt besser erstellen kann?
Bisher machen wir das so: ArrayList<Integer>[][] sudokuGrid = new ArrayList[9][9];

Vielen Dank!
 
Ja, so eine Warnung ist bei so einem Konstrukt normal.

Eine Verbesserung wäre, einfach einmal objektorientiert zu entwickeln. Wenn ihr ein 9x9 Feld habt, dann ist das z.B. ein
Feld[][] felder = new Feld[9][9];

Und die Klasse Feld hat dann die entsprechenden Eigenschaften / Methoden, Dinge werden da sauber gekapselt.
 
Falls du die Arraylist mit den Zugmöglichkeiten nicht ins Datenmodell des Spielfeldes mit aufnehmen willst, dann kannst du hier auch eine Map<Feld,ArrayList<Integer>> anlegen.

Java:
ArrayList<Integer> spielzuege = map.get(Feld[2][3]);
 

Zurück
Oben