如何巧妙运用集合类的toArray和toArray(T[] a)方法实现高效数组转换?

2026-04-16 12:145阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计242个文字,预计阅读时间需要1分钟。

如何巧妙运用集合类的toArray和toArray(T[] a)方法实现高效数组转换?

javaimport java.util.ArrayList;

如何巧妙运用集合类的toArray和toArray(T[] a)方法实现高效数组转换?

/** * 用来自测Collections的toArray()和toArray(T[] a)方法 * Created by licho on 2017/9/28 0028. */public class CollectionToArray { public static void main(String[] args) { ArrayList li=new ArrayList(); // ... (此处添加ArrayList的添加元素代码) }}

CollectionToArray.java

import java.util.ArrayList; /** * 用来测试Collections的toArray()和toArray(T [])方法 * Created by licho on 2017/9/28 0028. */ public class CollectionToArray { public static void main(String[] args) { ArrayList list=new ArrayList<>(); list.add(new Integer(2)); list.add(new Integer(3)); list.add(new Integer(4)); Object[] result=list.toArray(); //Integer[]=(Object[])list.toArray(),会报错,数组对象之间不能进行类型转换 System.out.println(result.getClass());//class [Ljava.lang.Object; System.out.println(result[0].getClass().getName());//java.lang.Integer Integer[] a=new Integer[list.size()];//定义数组长度和集合一样 Integer[] b=list.toArray(a);//集合元素转化为Integer[]数组 System.out.println(a==b);//判断是否创建了新的对象.,结果为true Integer[] c=new Integer[2];//小于集合长度,这时会创建一个新的Interger对象,长度和集合大小一致 System.out.println(a==c);//结果为false } }

本文共计242个文字,预计阅读时间需要1分钟。

如何巧妙运用集合类的toArray和toArray(T[] a)方法实现高效数组转换?

javaimport java.util.ArrayList;

如何巧妙运用集合类的toArray和toArray(T[] a)方法实现高效数组转换?

/** * 用来自测Collections的toArray()和toArray(T[] a)方法 * Created by licho on 2017/9/28 0028. */public class CollectionToArray { public static void main(String[] args) { ArrayList li=new ArrayList(); // ... (此处添加ArrayList的添加元素代码) }}

CollectionToArray.java

import java.util.ArrayList; /** * 用来测试Collections的toArray()和toArray(T [])方法 * Created by licho on 2017/9/28 0028. */ public class CollectionToArray { public static void main(String[] args) { ArrayList list=new ArrayList<>(); list.add(new Integer(2)); list.add(new Integer(3)); list.add(new Integer(4)); Object[] result=list.toArray(); //Integer[]=(Object[])list.toArray(),会报错,数组对象之间不能进行类型转换 System.out.println(result.getClass());//class [Ljava.lang.Object; System.out.println(result[0].getClass().getName());//java.lang.Integer Integer[] a=new Integer[list.size()];//定义数组长度和集合一样 Integer[] b=list.toArray(a);//集合元素转化为Integer[]数组 System.out.println(a==b);//判断是否创建了新的对象.,结果为true Integer[] c=new Integer[2];//小于集合长度,这时会创建一个新的Interger对象,长度和集合大小一致 System.out.println(a==c);//结果为false } }