【Java】ArrayList<String>转化为String数组问题
2017-06-01 17:34
381 查看
Java的容器类Collections中toArray()方法,可以把诸如ArrayList<String>的动态数组、不定长转化静态数组、定长数组String[]
但是,如下的转化方式是错误的。
[java] view
plain copy
print?
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
print?
String[] strArrayTrue = (String[]) arrayList.toArray(new String[0]);
比如,如下的一段程序,是正常的:
[java] view
plain copy
print?
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>等
转自:http://blog.csdn.net/yongh701/article/details/45168121
但是,如下的转化方式是错误的。
[java] view
plain copy
print?
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
print?
String[] strArrayTrue = (String[]) arrayList.toArray(new String[0]);
比如,如下的一段程序,是正常的:
[java] view
plain copy
print?
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>等
转自:http://blog.csdn.net/yongh701/article/details/45168121
相关文章推荐
- 【Java】ArrayList<String>转化为String数组问题
- 【Java】ArrayList<String>转化为String数组问题
- 【Java】ArrayList<String>转化为String数组问题
- 【Java】ArrayList<String>转化为String数组
- ArrayList<String> 转化为String数组问题
- C#中 ArrayList与string,string[],List<string> 数组集合转换
- Java 带分隔字符串、字符串数组和 ArrayList<String> 之间的转换
- java ArrayList<String> 与 string数组的相互转换
- Java下String逗号数组和List<String>的互相转换
- ArrayList<String> 转化为String数组,报错java.lang.ClassCastException
- C#中string[]数组和list<string>泛型的相互转换 【转】
- java如何遍历Map<String, ArrayList> map = new HashMap<String, ArrayList>();
- List<String> list1 = new ArrayList<String>(0); List<String> list2 = new ArrayList<String>();不同之处???
- ArrayList ,string , string[] 数组的转换 以及二维数组定义ArrayList<String[]>
- C#中string[]数组和list<string>泛型的相互转换
- .NET中string[]数组和List<string>泛型的相互转换以及Array类的Sort()方法 【整理】
- java 从零开始,学习笔记之基础入门<数组列表(ArrayList)>(九)
- C# List<object> 转换为List<string>、转换为 string数组、转换为一个字符串用分隔符 隔开
- List<String>与String数组之间的转换问题
- C#中string[]数组和list<string>泛型的相互转换