con*_*kus 3 java uncaught-exception
好吧,我一直在环顾四周,做了很多谷歌搜索,但我仍然找不到避免这种警告的方法.
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);
}
Run Code Online (Sandbox Code Playgroud)
它在行loadFile =(ArrayList)in.readObject()中给出了警告; 我已经添加了捕获量,所以我不确定为什么它仍然说它没有捕获.有帮助吗?谢谢?
Ing*_*ngo 10
它不是"未捕获",而是"未经检查".JVM无法在运行时告知,即在完成转换时,ArrayList是否真的包含Dot元素.
从原始类型转换为泛型类型时,会发生此警告.如果您确定演员阵容没问题,则可以使用注释来抑制警告
@SuppressWarnings("unchecked")
Run Code Online (Sandbox Code Playgroud)
为此,最好将铸件封装在一个小而单独的方法中.
| 归档时间: |
|
| 查看次数: |
1843 次 |
| 最近记录: |