列表构造函数在java中无法正常工作

时间:2012-03-31 14:17:24

标签: java collections

我正在尝试运行以下代码:

List<Integer> list = Arrays.asList(1,2,3);
ArrayList<Integer> val = new ArrayList<Integer>(list);

我知道我在第一行获得了列表,但我出于好奇而运行它。令我难以置信的是,在运行上面的代码之后,val列表是空的,至少在我的Eclipse Indigo,java 1.6机器上。有什么想法吗?

3 个答案:

答案 0 :(得分:3)

以下代码:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Test {

    public static void main(String args[]) {
        List<Integer> list = Arrays.asList(1,2,3);
        ArrayList<Integer> val = new ArrayList<Integer>(list);
        System.out.println(val.size());
    }
}

对我来说很好(输出3)。你的问题必须在别处。

答案 1 :(得分:2)

List<Integer> list = Arrays.asList(1,2,3);
List<Integer> val = new ArrayList<Integer>(list);
System.out.println(val);

打印

[1, 2, 3]

答案 2 :(得分:2)

这与其他答案相同,但表示为单元测试 - 您的代码工作正常。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import junit.framework.TestCase;

public class ArrayTest extends TestCase {
    public void testArray() throws Exception {
        List<Integer> list = Arrays.asList(1, 2, 3);
        ArrayList<Integer> val = new ArrayList<Integer>(list);
        assertEquals(3, list.size());
        assertEquals(3, val.size());
    }
}