2013-01-10 18 views
0

我有一個類ListFragment的Java鑄造一個通用類與特定類型的無警告

public class ListFragment<T> extends DialogFragment { 

當我嘗試在這種情況下,String

ListFragment<String> lfst = (ListFragment<String>)getFragmentManager().findFragmentByTag("somePicker"); 
投的對象爲特定類型的 ListFragment

它給了我一個警告類型安全:從片段到列表片段的未選中投入

要刪除e我必須添加的警告@SuppressWarnings("unchecked")

我需要的原因是ListFragment<String>,因爲我將調用一個取決於使用String的方法。

所以有沒有辦法實現這一點,而不使用抑制警告。請注意,此代碼正在編寫用於Android。

回答

1

總之,沒有。方法findFragmentByTag不知道它將返回ListFragment,並且超類Fragment本身沒有類型參數。

你可以做的最好的就是像你所做的那樣壓制警告。

+0

謝謝我是Java的新手,所以當我看到警告時,我認爲必須有更好的方法來處理這個問題,而不是我正在做的事情。 – pt123

-1

這只是一個警告。運行它,測試它,如果一切順利的話。別管它。你可以在應用程序中抑制每一個警告。祝你好運

+1

的確,儘管我很欣賞這個問題對於零警告的追求。 – Danish

+0

不知道爲什麼我得到這個減號。 當天結束,如果您的單元測試通過並且功能和用戶測試通過,那麼爲什麼要關注警告? – jonney