加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java [未选中]未经检查的案例警告

发布时间:2020-12-15 05:05:54 所属栏目:Java 来源:网络整理
导读:好吧,我一直在环顾四周,做了很多谷歌搜索,但我仍然找不到避免这种警告的方法. Integer result = chooser.showOpenDialog(null);if (result.equals(0)){ String tempHolder = chooser.getSelectedFile().getPath(); filenameLoad = new File(tempHolder); fil
好吧,我一直在环顾四周,做了很多谷歌搜索,但我仍然找不到避免这种警告的方法.

Integer result = chooser.showOpenDialog(null);
if (result.equals(0))
{
    String tempHolder = chooser.getSelectedFile().getPath();
    filenameLoad = new File(tempHolder);
    filenameSave = filenameLoad;
    FileInputStream fis = null;
    ObjectInputStream in = null;
    try
    {
        fis = new FileInputStream(filenameLoad);
        in = new ObjectInputStream(fis);;
    }
    catch(IOException ex)
    {
        ex.printStackTrace();
    }

    try
    {
        loadFile = (ArrayList<Dot>)in.readObject();
    }
    catch(IOException ex)
    {
        System.out.println("Cast fail");
    }
    catch(ClassNotFoundException ex)
    {
        System.out.println("Cast fail");
    }
    catch (ClassCastException ex)
    {
        System.out.println("Cast fail");
    }

    try
    {
        in.close();
    }
    catch(Exception ex)
    {
        System.out.println("failed to close in");
    }
    save.setEnabled(true);
      gpanel.setDotList(loadFile);
  }

它在行loadFile =(ArrayList)in.readObject()中给出了警告;我已经添加了捕获量,所以我不确定为什么它仍然说它没有捕获.有帮助吗?谢谢?

解决方法

它不是“未捕获”,而是“未经检查”. JVM无法在运行时告知,即当完成转换时,ArrayList是否真的包含Dot元素.

从原始类型转换为泛型类型时,会发生此警告.如果您确定演员阵容没问题,则可以使用注释来抑制警告

@SuppressWarnings("unchecked")

为此,最好将铸件封装在一个小而单独的方法中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读