java - 存储 ArrayList 数据并转换为 String[][]

标签 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[][] 类型。关于我能做什么有什么想法吗?

编辑:所以转换问题解决了(编辑后的代码粘贴在上面) - 现在它什么也不输出。我觉得我一定是错误地存储了数据。我应该添加/更改什么?

最佳答案

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

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

关于java - 存储 ArrayList 数据并转换为 String[][],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6983925/

相关文章:

c# - 如何替换字符串中的未知字符?通配符?

.net - 如何在 .Net 中生成一个随机的英文 "sounding"单词?

python - 将函数应用于 ndarray 的 0 维

java - Jsf 错误 : java. lang.ClassCastException

Python 2.7 : Faster/better way to extract all integer values from a string?

java - 服务注册为类型,并实现接口(interface),但不能用作类型

java - 在 Java 中将值存储到二维数组

java - Apache Commons 优化问题

java - 网站中的 XML 解析

Java从链表递归中删除一个元素