Digite safety: Não verificado cast de Objeto para Listar <MyObject>
Eu tenho um ListView listando um objeto personalizado (digamosMyObject
).
Eu quero filtrar dinamicamente através de umEditText
então eu tive que implementar umgetFilter()
com um método publishResults:
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
MyObjectAdapter.this.setItems((List<MyObject>) results.values);
MyObjectAdapter.this.notifyDataSetChanged();
}
Neste ponto, o Eclipse reclama:Type safety: Unchecked cast from Object to List<MyObject>
Tenho certeza de que esse elenco sempre será verdadeiro, mas o Eclipse só sugere adicionar@SuppressWarnings("unchecked")
mas eu sou totalmente contraSuppressWarnings
porque é só esconder o problema, não uma solução ...
Eu tentei adicionar:
if(results.values instanceof List<MyObject>)
Mas Eclipse reclama novamente, e isso não resolve nada ...
Cannot perform instanceof check against parameterized type List<MyObject>. Use the form List<?>
Eu sei que o casting será sempre correto, mas qual é a maneira correta de fazer o código ter certezaresults.values
é na verdade umList<MyObject>
?
Desde já, obrigado!