Java工具类List中的toArray方法及java.lang.ArrayStoreException详解
2018-02-08 13:36
405 查看
1.List接口中有两个方法 Object[] toArray(); T[] toArray(T[] a);
分析:不带参数的方法默认是把数组转换为Object类型,而带参数的方法会将数组转换为指定的类型;
指定目标数组数据类型:
List<Integer> list = new ArrayList<Integer>(); list.add(12); list.add(13); list.toArray(new Integer[list.size()]);
不指定目标数组数据类型获得的数组类型是Object类型:
List<Integer> list = new ArrayList<Integer>(); list.add(12); list.add(13); list.toArray();
2.使用toArray方法是出现java.lang.ArrayStoreException异常
public class StingUtilsTest{ public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(12); list.add(13); list.toArray(new Long[list.size()]); } }
Exception in thread "main" java.lang.ArrayStoreException at java.lang.System.arraycopy(Native Method) at java.util.ArrayList.toArray(ArrayList.java:390) at common.lang.StingUtilsTest.main(StingUtilsTest.java:23)
分析:出现这种异常是由于数组中存入的数据与要转换的目标数组的类型不一致导致的;还有一点需要注意的是toArray参数数组的初始化大小如果list.size大于等于list的列表的长度那么就默认使用当前的参数数组,如果小于list的长度就会重新创建一个数组,建议如果知道list的长度一定要初始化数组的长度,这样可以节省内存空间,提高效率;
相关文章推荐
- Java工具类List中的toArray方法及java.lang.ArrayStoreException详解
- Java工具类List中的toArray方法及java.lang.ArrayStoreException详解
- Java工具类List中的toArray方法及java.lang.ArrayStoreException详解
- Java工具类List中的toArray方法及java.lang.ArrayStoreException详解
- Java工具类List中的toArray方法及java.lang.ArrayStoreException详解
- Java工具类List中的toArray方法及java.lang.ArrayStoreException详解
- Java工具类List中的toArray方法及java.lang.ArrayStoreException详解
- Java工具类List中的toArray方法及java.lang.ArrayStoreException详解
- Java工具类List中的toArray方法及java.lang.ArrayStoreException详解
- Java工具类List中的toArray方法及java.lang.ArrayStoreException详解
- Java工具类List中的toArray方法及java.lang.ArrayStoreException详解
- Java工具类List中的toArray方法及java.lang.ArrayStoreException详解
- Java工具类List中的toArray方法及java.lang.ArrayStoreException详解
- Java工具类List中的toArray方法及java.lang.ArrayStoreException详解
- Java工具类List中的toArray方法及java.lang.ArrayStoreException详解
- Java工具类List中的toArray方法及java.lang.ArrayStoreException详解
- Java工具类List中的toArray方法及java.lang.ArrayStoreException详解
- Java工具类List中的toArray方法及java.lang.ArrayStoreException详解
- Java工具类List中的toArray方法及java.lang.ArrayStoreException详解
- Java工具类List中的toArray方法及java.lang.ArrayStoreException详解