Java ArrayList.toString异常
我使用ArrayList存储字符串数组中的一些字符串:Java ArrayList.toString异常,java,arrays,string,arraylist,classcastexception,Java,Arrays,String,Arraylist,Classcastexception,我使用ArrayList存储字符串数组中的一些字符串: ArrayList<String> list = new ArrayList<>(); list.add(strings[i]); 这给了我一个解释: Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String; 我做错了什么?方法调用list.t
ArrayList<String> list = new ArrayList<>();
list.add(strings[i]);
这给了我一个解释:
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
我做错了什么?方法调用
list.toArray()
返回Object[]类型的数组。不能将其强制转换为字符串[],即使它只包含字符串
但您可以创建一个字符串[]类型的数组,其同级为List.toArray(),该数组接受所需类型的初始数组:
foo( list.toArray( new String[ list.size() ] ) );
你必须这样做
String[] t = new String[list.size()];
foo(list.toArray(t));
String[] t = new String[list.size()];
foo(list.toArray(t));