Escriba seguridad: no verificada conversión de objeto a lista <MyObject>
Tengo un ListView que lista un objeto personalizado (digamosMyObject
).
Quiero filtrarlo dinámicamente a través de unEditText
así que tuve que implementar unagetFilter()
con un método publishResults:
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
MyObjectAdapter.this.setItems((List<MyObject>) results.values);
MyObjectAdapter.this.notifyDataSetChanged();
}
En este punto, Eclipse se queja:Type safety: Unchecked cast from Object to List<MyObject>
Estoy seguro de que este reparto siempre será verdadero, pero Eclipse solo sugiere agregar@SuppressWarnings("unchecked")
pero estoy totalmente en contraSuppressWarnings
Porque solo está ocultando el problema, no una solución ...
Intenté agregar:
if(results.values instanceof List<MyObject>)
Pero Eclipse se queja de nuevo, y esto no resuelve nada ...
Cannot perform instanceof check against parameterized type List<MyObject>. Use the form List<?>
Sé que el casting siempre será correcto, pero cuál es la forma correcta de hacer el código para estar seguroresults.values
es en realidad unList<MyObject>
?
¡Gracias por adelantado!