问题创建一个双数组列表

时间:2013-11-18 02:30:29

标签: java arraylist double

是否有任何理由导致代码出现编译错误?

Import java.util.*;

public class Storageclass
// class used to store the Student data 
{
 // creates the private array list needed. 
 private ArrayList<String> nameList = new ArrayList<String>();
 private ArrayList<double> GPAList = new ArrayList<double>();
 private ArrayList<double> passedList = new ArrayList<double>();
}

这是在一个主文件的类访问中,在类中有更多的不是这个错误的一部分。当我运行这个时,两个double arrayList给我这个错误。

Storageclass.java:8: error: unexpected type
 private ArrayList<double> GPAList = new ArrayList<double>(1);
                   ^
  required: reference
  found:    double

我不确定为什么或该错误意味着任何帮助将不胜感激。

〜感谢您的帮助是我犯的一个令人尴尬的新手错误,但希望充分这可以帮助其他人。

4 个答案:

答案 0 :(得分:7)

由于所有泛型类型<T>在运行时erasedObject,因此代替T的每个类型都必须扩展Object。因此,您不能将T设置为基本类型,如double,但您可以使用其包装类Double。试试这个:

private List<Double> passedList = new ArrayList<Double>();

或者自Java7更短的版本

private List<Double> passedList = new ArrayList<>();

如果您尝试将add类型的double变量添加到此类数组,也不要担心,因为它将autoboxed添加到Double

答案 1 :(得分:2)

原始类型不能用作泛型类型参数。使用包装类型Double(或任何适当的选项)。

答案 2 :(得分:2)

使用ArrayList&lt; Double &gt;而不是ArrayList&lt; double&gt;。

答案 3 :(得分:0)

不能是原始类型

private ArrayList<double>

使用Double

private ArrayList<Double>