Integer[]array=(Integer[])arraylistOne.toArray();再写个for循环把Integer赋给int就行了newint[8];intAry[i]=IntegerAry[i];其实Integer可以直接当成int用如Integera=10;intb=a;这里是可以直接把a的值赋给b的。
ArrayList有一个方法为toArray(),可以将list转化为Object[]数组,但是如何转化为其他类型的数组呢?比如一个泛型为Integer的ArrayList如何转化为数组呢?
public static void main(String[] args) {。
// TODO Auto-generated method stub。
/*将list转化为String[]*/。
ArrayList<String> stringList = new ArrayList<String>();//泛型为String。
stringList.add("123");。
stringList.add("abc");。
stringList.add("2js");。
String[] a = new String[stringList.size()];。
a = (String[]) stringList.toArray(a);。
System.out.println(Arrays.toString(a));。
/*将list转化为Integer[]*/。
ArrayList<Integer> intList = new ArrayList<Integer>();//泛型为Integer。
intList.add(123);。
intList.add(234);。
intList.add(345);。
Integer[] b = new Integer[intList.size()];//当泛型为Integer时,需要。
b = (Integer[])intList.toArray(b); //以Integer类来作为数组基本元素。
System.out.println(Arrays.toString(b));//,否则输出会报错。
Integer[] c = (Integer[])intList.toArray();//此处编译没问题,但是涉及泛型。
System.out.println(Arrays.toString(c)); //向下转换,运行会出错。
System.out.println(c.getClass());。
System.out.println(b.getClass());。
ArrayListtoArray()list转化Object[]数组何转化其类型数组呢比泛型IntegerArrayList何转化数组呢。
public static void main(String[] args) {。
// TODO Auto-generated method stub。
/*list转化String[]*/。
ArrayList stringList = new ArrayList();//泛型String。
stringList.add("123");。
stringList.add("abc");。
stringList.add("2js");。
String[] a = new String[stringList.size()];。
a = (String[]) stringList.toArray(a);。
System.out.println(Arrays.toString(a));。
/*list转化Integer[]*/。
ArrayList intList = new ArrayList();//泛型Integer。
intList.add(123);。
intList.add(234);。
intList.add(345);。
Integer[] b = new Integer[intList.size()];//泛型Integer需要。
b = (Integer[])intList.toArray(b); //Integer类作数组基本元素。
System.out.println(Arrays.toString(b));//否则输报错。
Integer[] c = (Integer[])intList.toArray();//处编译没问题涉及泛型。
System.out.println(Arrays.toString(c)); //向转换运行错。
System.out.println(c.getClass());。
System.out.println(b.getClass());。
很简单,一串代码就解决了。
输入:a.ToArray(typeof(Int32));//。
其中Int32可以替换成其他你想要的类型。
但是不推荐用ArrayList,因为ArrayList中的Item是object类型的,当转换的时候极有可能会发生装拆箱,推荐使用List<T>泛型集合,这样就不会发生装拆箱了,效率更高。
1、list转数组
List<String> strList = new ArrayList<String>();。
strList.add("aa");。
strList.add("bb");。
Object[] objs = strList.toArray();。
--------------
如果要变成String数组,需要强转类型。
String[] strs = (String[]) strList.toArray(new String[0]);。
-----------------。
也可以指定大小:
String[] strs = strList.toArray(new String[strList.size()]);。
2、笨方法:
List<String> strList = new ArrayList<String>();。
strList.add("aa");。
strList.add("bb");。
String[] strs = new String[strList.size()];。
原文地址:http://www.qianchusai.com/arraylist%E8%BD%ACint%E6%95%B0%E7%BB%84.html