问题创建一个双数组列表

use*_*640 3 java double arraylist

是否有任何原因导致代码编译错误?

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>();
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

〜感谢你的帮助是我犯的一个令人尴尬的新手错误,但是希望完全可以帮助其他人.

Psh*_*emo 7

由于所有泛型类型<T>都在运行时被擦除,因此Object您放置的每个类型都T必须扩展Object.所以你不能设置T为原始类型,double但你可以使用它的包装类Double.试试这种方式:

private List<Double> passedList = new ArrayList<Double>();
Run Code Online (Sandbox Code Playgroud)

或者因为Java7的版本较短

private List<Double> passedList = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

此外,如果你尝试不用担心add的变量double类型,例如数组,因为它会被autoboxedDouble.