use*_*069 3 java java-8 java-stream
我正在尝试将文件中的数据加载到JTable中.因此,使用Java 8流可以很容易地将文件加载到字符串数组中:
BufferedReader br = new BufferedReader(new FileReader(f));
Object[] data = br.lines().map((s)->{
String[] res = {s,"1"}; // Here's some conversion of line into String[] - elements of one row
return res;
}).toArray();
TableModel m = new DefaultTableModel( (String[][])data, cols);
Run Code Online (Sandbox Code Playgroud)
但最后一行导致错误:线程"AWT-EventQueue-0"中的异常java.lang.ClassCastException:[Ljava.lang.Object; 无法转换为[[Ljava.lang.Object.如何将数据转换为String [] []?
如果你使用toArray(String[][]::new)而不是toArray()它将返回一个String[][]而不是一个Object[]你根本不需要施放它(如果你将其分配给a String[][]).