我正在编写一个数独求解器,我希望将网格存储为整数数组列表的数组列表......每个点都有一个包含所有可能数字(或确定值)的整数数组列表。
ArrayList<ArrayList<int>> sudoku_board = new ArrayList <ArrayList<int>>();
Java 向我抛出一个错误,在整数上说“令牌后预期的尺寸”。
我正在编写一个数独求解器,我希望将网格存储为整数数组列表的数组列表......每个点都有一个包含所有可能数字(或确定值)的整数数组列表。
ArrayList<ArrayList<int>> sudoku_board = new ArrayList <ArrayList<int>>();
Java 向我抛出一个错误,在整数上说“令牌后预期的尺寸”。
泛型类型参数需要引用类型,而不是原始类型。利用
List<ArrayList<Integer>> sudoku_board = new ArrayList <ArrayList<Integer>>();
此外,在对接口进行编码时,使用接口作为引用类型,在这种情况下为List
. 由于泛型的非协变,泛型中出现的所有内容都应保留为实现类型。
从@assylias 评论中,更通用的列表类型是
List<List<Integer>> list = new ArrayList<List<Integer>>();
这将允许在以后需要重构时添加List
其他实现类型。ArrayList
改用Integer
包装类primitive
。
ArrayList 不允许primitive
作为 type argument
。
List<ArrayList<Integer>> list= new ArrayList <ArrayList<Integer>>();
Arraylist 用于存储对象而不是原语,因此请相应地更改签名。