首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android:使用未经检查或不安全的操作

Android:使用未经检查或不安全的操作
EN

Stack Overflow用户
提问于 2019-02-28 04:34:18
回答 2查看 939关注 0票数 0

在构建我的项目时,我收到了这样的消息:

...\listadapter\MyAdapter.java:使用未检查或不安全的操作。

有关详细信息,请使用-Xlint:unchecked重新编译。

下面这几行代码会发生这种情况:

@Override
    protected void publishResults(CharSequence constraint, FilterResults results) {
        beanList = (ArrayList<Bean>) results.values;
        notifyDataSetChanged();
    }

我不知道该怎么办。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-28 04:43:16

这是因为您正在强制转换为泛型类型,而编译器不知道这种强制转换是否合法。如果您的results.values不是ArrayList的实例,则该行代码将失败,并显示ClastCastException。如果您100%确定它将是Bean的ArrayList,则可以取消显示此警告(通过使用@SuppressWarnings("unchecked")注释该方法

票数 1
EN

Stack Overflow用户

发布于 2019-02-28 04:43:14

你可以尝试使用try catch方法来捕获Excepcion,或者你可以为这个问题创建一个新的Exception,你可以创建一个扩展Exception的类,你可以在这里了解更多:How to creat a custom Exception

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54914044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档