リスト<リスト<Integer型>> 2Dのchar配列に変換しますか?

閃光 :

私が持ってList<List<Integer>> arrいるです2D_INTEGER_ARRAY私は、2Dにこれを変換する必要がありますchar[][]配列。私はコードの下にしようとしたが、それは明らかに私はそれを行うことができます方法を見つけ出すことができないコンパイルの問題を与えていますか?

   public static int largestMatrix(List<List<Integer>> arr) {
    char[][] matrix = new char[arr.size()][];
    for (int i = 0; i < arr.size(); i++) {
        List<Integer> row = arr.get(i);
        // below line is giving error
        matrix[i] = row.toArray(new char[row.size()]);
    }
   }

エラーは以下のとおりです。

[Java] The method toArray(T[]) in the type List<Integer> is not applicable for the arguments (char[])
shmosel:

Integerそしてchar、別のタイプです。あなたが数字として表された整数をしたい場合は、(キャストだけあなたのASCII表現を与えるであろう)、それを変換する必要があります。また、あなたは呼び出すことはできませんtoArray()プリミティブ配列で。あなたは、反復処理し、手動で変換する必要があります:

matrix[i] = new char[row.size()];
for (int j = 0; j < row.size(); j++) {
    matrix[i][j] = Character.forDigit(row.get(j), 10);
}

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=225180&siteId=1