我有一個列表視圖列出了一個自定義對象(比如說MyObject
)。類型安全:從對象到列表未選中投射<MyObject>
我想通過EditText
動態過濾,所以我不得不實行getFilter()
與publishResults方法:
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
MyObjectAdapter.this.setItems((List<MyObject>) results.values);
MyObjectAdapter.this.notifyDataSetChanged();
}
在這一點上,Eclipse的抱怨:Type safety: Unchecked cast from Object to List<MyObject>
我相信這個廣播將始終是真實的,但Eclipse只建議添加@SuppressWarnings("unchecked")
,但我完全反對SuppressWarnings
,因爲它只隱藏問題,而不是解決方案...
我嘗試添加:
if(results.values instanceof List<MyObject>)
但是Eclipse再次抱怨了,這解決不了任何問題......
Cannot perform instanceof check against parameterized type List<MyObject>. Use the form List<?>
我知道鑄件永遠是正確的,但它是使有道代碼要確定results.values
實際上是一個List<MyObject>
?
在此先感謝!
http://stackoverflow.com/questions/262367/type-safety-unchecked-cast –