2009-08-13 57 views
1

從上一個問題中得到了這個想法。爲什麼@SuppressWarnings會破壞我的代碼?

How to create a generic array in Java?

不管怎樣,我的代碼是這樣的:

public class Slice<E> 
{ 
    private E[] data; 
    public Slice(Class<E> elementType, int size) 
    { 
     //@SuppresWarnings({"unchecked"}) 
     data = (E[])Array.newInstance(elementType, size); 
    } 

} 

我刪除了不必要的東西。當壓制指令被註釋掉時,這種編譯很好。當我取消註釋時,我得到

Error: <identifier> expected  
     data = (E[])Array.newInstance(elementType, size); 
      ^

任何想法?爲什麼會發生這種情況?

回答

6

你不能在那裏註釋。它必須位於public關鍵字之前。並且您錯誤地輸入了註釋名稱:將SuppresWarnings更改爲SuppressWarnings

編輯:如果你使用像Eclipse的IDE,您通常使用自動校正功能來插入註釋。當然,它會插入正確的位置並正確拼寫。

+0

剛看到,在我的評論的權利後,我發佈了它。謝謝 :) – Derrick 2009-08-13 02:33:54

0

很久沒有java我,但你把那方法,不只是裏面的地方,對不對?

+0

在另一個線程中,他們使用你所建議的方法。我只是去嘗試,現在,得到這個錯誤: 找不到符號 符號:類SuppresWarnings 位置:類切片 \t @SuppresWarnings({「未登記」}) ^ – Derrick 2009-08-13 02:29:53

+0

呀,所以你需要找到該類所在的包並將其導入。 – 2009-08-13 02:32:34

+0

@silky:沒有......他將只需要正確拼寫註解類名:-) – 2009-08-13 02:48:50

相關問題