ArrayList类型不是通用的;它不能使用参数<integer> </integer>进行参数化

时间:2014-02-27 04:48:28

标签: java generics arraylist integer

我正在尝试完成一个JCF数组列表,它在30分钟前编译得很好,但现在我收到错误“类型ArrayList不是通用的;它不能用参数参数化”。我已经尝试了一些事情来解决它,但我不知所措。这是代码:

import java.util.*;

/**
 * Class to test the java.util.ArrayList class.
 */
public class Main
{

    public static void main(String[] args)
    {
        Main myAppl = new Main();

    }

    public Main()
    {
        ArrayList<Integer> numbers = new ArrayList<Integer>();

        //list creation
        for (int i = 0; i < 10; i++)
            numbers.add((int) (Math.random() * 100));

        System.out.println("List of numbers:");
        System.out.println(numbers);

        Scanner in = new Scanner(System.in);
        System.out.print("Please, enter an int value: ");
        int x = in.nextInt();

        if (numbers.contains(x))
            System.out.println("Found!");
        else
            System.out.println("Not found!");
    }
}

3 个答案:

答案 0 :(得分:8)

2种可能性:

  1. 您正在使用来自第三方软件包而不是java.util.ArrayList的神秘ArrayList;或

  2. 您的编译器设置是1.5之前的版本,或者您的有效JDK是1.5之前的,因此无法使用。

答案 1 :(得分:3)

假设您正在使用(并且定位)大于或等于1.5的版本,那么您必须拥有一个名为ArrayList的类,该类可以隐藏您想要的那个;你应该使用

// If your compiler settings are correct.
java.util.ArrayList<Integer> numbers = new java.util.ArrayList<Integer>();

答案 2 :(得分:0)

尝试将您的班级名称更改为其他名称。即不是ArrayList或main。