我有一个 ArrayList< int[] > 并想将其转换为一个 int[][]。结果数组对每个条目都有相同的 int[] ,即使它们是不同的(是的,我已经检查过!)。我在这里错过了一些简单的东西吗?int[][] 中数组的长度由 arr.length 给出
int[][] vals = new int[ list.size() ][ arr.length ];
list.toArray( vals );
编辑: 我已经意识到代码可以正常工作,所以这里有一个更大的问题出现的代码示例。permute() 按照它说的做,并在完成新的排列时排列给定数组中的整数,返回 true。
List< int[] > list = new ArrayList<>();
do {
list.add( vals );
} while ( permute( vals ) ); // I print vals here and the permutations are all unique each time
int[][] permutations = new int[ list.size() ][];
list.toArray( permutations );
// If I print permutations now, all the arrays inside it are the same