Chr*_*ian 70 java type-conversion
public static void main(String[] args) {
List<String> strlist = new ArrayList<String>();
strlist.add("sdfs1");
strlist.add("sdfs2");
String[] strarray = (String[]) strlist.toArray();
System.out.println(strarray);
}
Run Code Online (Sandbox Code Playgroud)
错误:
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
at test.main(test.java:10)
Run Code Online (Sandbox Code Playgroud)
jju*_*uma 100
你要
String[] strarray = strlist.toArray(new String[0]);
Run Code Online (Sandbox Code Playgroud)
请参阅此处以获取文档,并注意您也可以调用此方法,以便填充传递的数组,而不是仅使用它来确定要返回的类型.另请注意,您可能希望在打印阵列时使用
System.out.println(Arrays.toString(strarray));
Run Code Online (Sandbox Code Playgroud)
因为那将打印实际元素.
Pau*_*aul 18
public static void main(String[] args) {
List<String> strlist = new ArrayList<String>();
strlist.add("sdfs1");
strlist.add("sdfs2");
String[] strarray = new String[strlist.size()]
strlist.toArray(strarray );
System.out.println(strarray);
}
Run Code Online (Sandbox Code Playgroud)