`

如何使用List.toArray()转换为数组对象

 
阅读更多

在程序中,我们往往习惯使用List这种集合类,但是程序中却要求需要传递一个数组,我们可以这样实现:

 
  1. Long [] l = new Long[list.size()];
  2. for(int i=0;i
  3.  l[i] = (Long) list.get(i);

这样的代码看上去似乎繁琐了一些,实际上List已经为我们提供了toArray()方法,但是如果使用时不注意,就会很容易发生ClassCastException,其产生的原因可以看下面的代码:

 
  1. List list = new ArrayList();  
  2. list.add(new Long(1));
  3. list.add(new Long(2));  
  4. list.add(new Long(3));
  5. list.add(new Long(4));  
  6. Long[] l = (Long[])list.toArray();//这个语句会出现ClassCastException
  7. for(int i=0; i
  8.   System.out.println(l[i].longValue());  

在第6个语句会抛出ClassCastException异常。
其实,它的使用很简单,处理方式如下面代码:

  1. Long [] l = (Long []) list.toArray(new Long[list.size()]);  

注意的是:你要是传入的参数为9个大小,而list里面有5个object,那么其他的四个很可能是null , 使用的时候要注意

 

转:http://bluestar.iteye.com/blog/75189

 

分享到:
评论

相关推荐

    list.toArray方法

    在处理List集合时,我们有时需要将其转换为数组,以便进行更高效的操作,例如遍历、排序或与数组相关的其他操作。这就需要用到toArray()方法。 `toArray()`方法的基本用法如下: ```java List<String> list = new ...

    关于List.ToArray()方法的效率测试

    其中,`ToArray()` 方法经常被用来将`List<T>`转换为数组(`T[]`)。然而,根据标题和描述中的效率测试,我们发现`List<T>.ToArray()` 并非像我们通常所假设的那样只是一个简单的引用复制,而是实际执行了数组的深...

    详解Java如何在Array和List之间进行转换.rar

    - 容量问题:在从List转换为数组时,要确保数组的容量足够大,否则会导致ArrayIndexOutOfBoundsException。 - 遍历效率:遍历数组通常比遍历List更快,因为数组的索引访问时间复杂度是O(1),而List的get()方法可能为...

    Android中ArrayList和数组相互转换

    ArrayList继承自Java的List接口,提供了toArray()方法,可以直接将ArrayList转换为数组。在示例代码中,我们可以看到两种转换方式: 1. 基于循环的转换: ```java String[] array = new String[size]; for (int i =...

    java中数组列表ArrayList的使用[归类].pdf

    - 将ArrayList转换为数组,通常需要指定目标数组类型。 4. **ArrayList与数组之间的转换** - 将ArrayList转换为数组: ```java Integer[] values = (Integer[]) list.toArray(new Integer[list.size()]); ``` ...

    java list与数组之间的转换详细解析

    2. List转换为数组 当需要将List转换回数组时,ArrayList提供两种方法:`toArray()`和`toArray(T[] a)`。 - `toArray()`方法: 此方法返回一个新的数组,包含List中的所有元素。数组的类型是Object[],因此可能...

    Java中数组与集合的相互转换实现解析

    集合转换为数组可以使用 toArray() 方法,例如: ```java List<Integer> integerList = new ArrayList(); integerList.add(1); integerList.add(2); integerList.add(3); Integer[] integers = new Integer[3]; ...

    Java 实例 - 集合转数组源代码+详细指导教程.zip

    本教程将深入讲解如何在Java中将集合转换为数组,这是一个常见的需求,特别是在处理数据时需要与原生Java API或第三方库进行交互的情况下。通过学习本教程,你将能够熟练掌握这一关键技能。 首先,我们来看一下Java...

    JAVA中list,set,数组之间的转换详解

    4. `List.toArray()`/`List.toArray(T[])`: List转换为数组。 5. `Map.values()`: Map转换为Collection。 6. `new ArrayList(set)`/`new HashSet(list)`: Set与List之间的转换。 理解这些基本转换方法,将有助于你...

    Java编程实现数组转成list及list转数组的方法

    这种方法使用toArray()方法将List转换为数组。如果需要将其转换为特定类型的数组,需要强转类型。 2. 使用for循环 List<String> strList = new ArrayList(); strList.add("aa"); strList.add("bb"); String[] ...

    java ArrayList的使用与分析

    - **转换为数组**:如示例所示,可以使用 `toArray` 方法将 ArrayList 转换为数组:`Int32[] values = (Int32[])list.toArray(new Int32[0]);` - **从数组创建 ArrayList**:`ArrayList list = new ArrayList...

    试谈Java中ArrayList类的使用.pdf

    "Java 中 ArrayList 类的使用" Java 中的 ArrayList 类是一种常用的数据结构,它可以实现可变长度的数组。ArrayList 类提供了多种...这个实例演示了如何使用 ArrayList 类来添加、遍历、删除元素,并将其转换为数组。

    Java集合与数组区别简介及相互转换实例

    集合可以使用toArray()方法转换为数组。toArray()方法有两种形式,一种无参数,一种带参数,注意带参数形式中,要指明数组的大小。 ``` public void convertCollectionToArray() { List list = new ArrayList(); ...

    JAVA-SE入门学习——第八讲集合

    使用toArray()方法将集合转换为数组,使用Arrays.asList()方法将数组转换为列表。 ```java public class CollectionArrayConversion { public static void main(String[] args) { String[] array = {"a", "b", "c...

    leetcode2-node-leetcode:Leetcode辅助库,例如createList,Treefromarray

    将列表转换为数组。 通常用于调试。 var List = require ( 'leetcode' ) . List ; // { val: 1, next: { val: 2, next: { val: 3, next: null } } } var l = List . create ( [ 1 , 2 , 3 ] ) ; // [1, 2, 3] ...

    用实体类数据放入dialog

    3. 转换为数组:将列表对象转换为适合Dialog展示的形式。 4. 构建Dialog:使用数组数据创建并显示Dialog。 5. 处理用户交互:监听用户点击事件,根据选择执行相应操作。 以上就是如何用实体类数据放入Dialog的详细...

    数组与List之间相互转换的方法详解

    当我们有一个List,比如ArrayList,想要将其转换为数组时,可以调用ArrayList的`toArray()`方法。这个方法会创建一个新的数组,其类型与传入的数组类型相同,或者如果未传入数组,会根据List的元素类型自动创建。...

    C#数组中List, Dictionary的相互转换问题

    // 将List转换为数组 Student[] ListToArray = StudentList.ToArray(); ``` 现在,我们转向Dictionary的转换。将数组转换为Dictionary,我们需要使用`ToDictionary()`扩展方法。在这个例子中,数组中的每个元素都应...

    Array和Collection相互转换以及copy深度的小测

    1. **toArray()**: `Collection`接口提供了一个`toArray()`方法,可以将`Collection`转换为数组。例如: ```java Collection<String> collection = ...; String[] array = new String[collection.size()]; array...

    arrayliSt---listDemo

    ArrayList可以与其他集合类型互相转换,如转化为数组`toArray()`,或从数组创建ArrayList`Arrays.asList(T... a)`: ```java Object[] array = list.toArray(); ArrayList<String> fromArray = new ArrayList...

Global site tag (gtag.js) - Google Analytics