存储ArrayList数据并转换为字符串[] []

时间:2011-08-08 14:49:02

标签: java string multidimensional-array arraylist

我认为我将代码存储在ArrayList中是正确的。但是,我无法将列表转换为String [] []。这是我的代码:

        int row = 0;
        int col = 0;

        String fileInput = JOptionPane.showInputDialog(null, 
                "Please enter the path of the CSV file to read:");

        File file = new File(fileInput);

        BufferedReader bufRdr;
        bufRdr = new BufferedReader(new FileReader(file));
        String line = null;

        // Construct a new empty ArrayList for type String
        ArrayList<String[]> al = new ArrayList<String[]>();

        //read each line of text file
        while((line = bufRdr.readLine()) != null) {
            String[] columnData = line.split(",");
            al.add(columnData);
        }

        // Convert ArrayList to String array
        String[][] numbers = (String[][]) al.toArray(new String[al.size()][16]);

我收到一条错误,指出我无法转换为String [] []类型。关于我能做什么的任何想法?

编辑:所以转换问题已经解决(编辑过的代码粘贴在上面) - 现在它的输出却没有。我觉得我必须错误地存储数据。我应该添加/更改什么?

1 个答案:

答案 0 :(得分:2)

数组将是Object[] String[],因此强制转换不起作用。您可以(并且应该)使用提供数组的toArray()版本来填充:

String[][] numbers = (String[][]) al.toArray(new String[al.size()][]);