我有一个ListView列出一个自定义对象(让我们说MyObject).

我想通过一个EditText动态过滤它,所以我不得不实现一个getFilter()与一个publishResults方法:

@Override

protected void publishResults(CharSequence constraint, FilterResults results) {

MyObjectAdapter.this.setItems((List) results.values);

MyObjectAdapter.this.notifyDataSetChanged();

}

此时,Eclipse抱怨:类型安全性:从对象到列表< MyObject>的未检查的转换

我相信这个演员一直是真的,但是Eclipse只是建议添加@SuppressWarnings(“unchecked”),但我完全反对SuppressWarnings,因为它只是隐藏的问题,而不是解决方案…

我尝试添加:

if(results.values instanceof List)

但是Eclipse再次抱怨,这没有解决什么…

无法对参数化类型List< MyObject>执行instanceof检查.使用表单列表

我知道转换将永远是正确的,但是哪个是使代码确实的结果的正确方法.值实际上是List< MyObject> ?

提前致谢!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐