好吧,我环顾四周并做了很多谷歌搜索,但我仍然找不到避免此警告的方法。
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")
为此,最好将转换封装在一个小的、单独的方法中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)