2013-11-27 48 views
0

我的課程如下,工作正常,但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 
+0

要求:名單 /發現:ArrayList中,你爲什麼不試試呢? – Christian

+0

試試麼? ArrayList ? – J888

+0

是的,它給你一個提示。 – Christian

回答

2

你需要做這樣的警告:

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

這是因爲你定義的成績爲List<Long>()但對於較新的JDK版本(用Java 7及以上版本測試),初始化爲ArrayList()(您需要很長的部分)

+0

什麼都應該是多頭?長或長?大寫L或更低l? – J888

+0

我已經更新了我的回答 – Baby

+0

謝謝最新的差異有多長還是長? – J888

0

,您不需要隱式聲明類型(在本例中爲'Long')。 你可以簡單地做:

this.grades = new ArrayList<>(); 
相關問題