我有以下格式的数据:
List<ArrayList<String>>
我想将其写入CSV。下面是我的代码:
private static void writeToCSV(List<ArrayList<String>> csvInput) throws IOException{ String csv = "C:\\output.csv"; CSVWriter writer = null; try { writer = new CSVWriter(new FileWriter(csv)); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } for(ArrayList<String> each: csvInput){ writer.writeNext(each); } writer.close(); }//end of writeTOCSV
方法“ writeNext”仅允许使用String []作为参数。当我尝试使用Object []将’ArrayList each’强制转换为String []时,如下所示,我遇到了运行时类型强制转换错误:
Object[] eachTemp = each.toArray(); writer.writeNext((String[]) eachTemp);
谁能告诉我我要去哪里错了?
你不能投Object[]入String[],因为Object[]可以包含狗,猫,整型等。
Object[]
String[]
您应该使用重载的List#toArray(T [])方法。
List<String> list = new ArrayList<String>(); String[] array = list.toArray(new String[] {});