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") 为此,最好将铸件封装在一个小而单独的方法中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |