为什么我收到缺少类型参数和类型转换的警告?

时间:2013-11-27 03:01:45

标签: java list netbeans arraylist warnings

我的课程如下,并且工作正常,但NetBeans在第18行显示以下警告,我想知道这是为了什么?

代码

public class Users {

        private List<Long> grades;

        ...
        public String retrieveAllGrades(){

Line 18    this.grades = new ArrayList();

           ...
        }

        getters and setters
}

第18行警告

Found raw type: ArrayList
missing type arguments for generic class ArrayList<E> where E is a type-variable: E extends Object declared in class ArrayList

[unchecked] unchecked conversion
required: List<Long>
found: ArrayList

2 个答案:

答案 0 :(得分:2)

你需要这样做:

this.grades = new ArrayList<Long>();

这是因为您将成绩定义为List<Long>(),但初始化为ArrayList()(您需要较长的部分)

答案 1 :(得分:0)

对于较新的JDK版本(使用Java 7及更高版本测试),您无需隐式声明类型(在本例中为“Long”)。 你可以这样做:

this.grades = new ArrayList<>();
相关问题