【Java】ArrayList<String>转化为String数组问题
2017-09-08 22:26
435 查看
Java的容器类Collections中toArray()方法,可以把诸如ArrayList<String>的动态数组、不定长转化静态数组、定长数组String[]
但是,如下的转化方式是错误的。
[java] view
plain copy
String[] strArray = (String[]) arrayList.toArray();
如果这样执行会导致如下的错误:
Exception in thread "xx" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
如下图:
正确的方式应该写成:
[java] view
plain copy
String[] strArrayTrue = (String[]) arrayList.toArray(new String[0]);
比如,如下的一段程序,是正常的:
[java] view
plain copy
import java.util.*;
public class ArrayListToStrArr {
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add("1");
arrayList.add("2");
// 正确转化方式
String[] strArrayTrue = (String[]) arrayList.toArray(new String[0]);
for (String str : strArrayTrue) {
System.out.println(str);
}
// 错误的转化方式
// String[] strArray = (String[]) arrayList.toArray();
}
}
同理推广到数组ArrayList<Integer>等
但是,如下的转化方式是错误的。
[java] view
plain copy
String[] strArray = (String[]) arrayList.toArray();
如果这样执行会导致如下的错误:
Exception in thread "xx" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
如下图:
正确的方式应该写成:
[java] view
plain copy
String[] strArrayTrue = (String[]) arrayList.toArray(new String[0]);
比如,如下的一段程序,是正常的:
[java] view
plain copy
import java.util.*;
public class ArrayListToStrArr {
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add("1");
arrayList.add("2");
// 正确转化方式
String[] strArrayTrue = (String[]) arrayList.toArray(new String[0]);
for (String str : strArrayTrue) {
System.out.println(str);
}
// 错误的转化方式
// String[] strArray = (String[]) arrayList.toArray();
}
}
同理推广到数组ArrayList<Integer>等
相关文章推荐
- 【Java】ArrayList<String>转化为String数组问题
- 【Java】ArrayList<String>转化为String数组
- 【Java】ArrayList<String>转化为String数组问题
- 【Java】ArrayList<String>转化为String数组问题
- ArrayList<String> 转化为String数组问题
- java ArrayList<String> 与 string数组的相互转换
- C#中 ArrayList与string,string[],List<string> 数组集合转换
- Java 带分隔字符串、字符串数组和 ArrayList<String> 之间的转换
- ArrayList<String> 转化为String数组,报错java.lang.ClassCastException
- Java下String逗号数组和List<String>的互相转换
- android handler 传递 ArrayList<HashMap<String,Object>>问题
- Java 时间转化工具类 Date <->String<->Timestamp
- java笔记之字符串,字符串数组,List<String>的相互转换
- java如何遍历Map<String, ArrayList> map = new HashMap<String, ArrayList>();
- Java Convert ArrayList<String> to String []
- 【java】反射(二)——泛型集合(在ArrayList<Integer>中加入String对象)
- C#中string[]数组和list<string>泛型的相互转换 【转】
- C#中string[]数组和list<string>泛型的相互转换
- java 从零开始,学习笔记之基础入门<数组列表(ArrayList)>(九)
- C#中string[]数组和list<string>泛型的相互转换