在下面的代码中,我检查给定的 url 是否以允许的文件类型结尾(可能的类型:.jpg、.jpeg、.png 和 .gif)。类型列表保存在数组列表中,其中包含 UI 的文本描述(例如“JPG 图像”)。
我的目的是让函数遍历带有描述的列表,并使用相应的 URL 检查方法检查 url。
我希望这段代码能够工作,因为我相信每个场景都已被考虑在内:如果它是 JPG、PNG 或 GIF,则返回 true,否则返回 false。但它仍然存在错误:
Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problem:
This method must return a result of type boolean
这显然意味着某个地方的返回出了问题。我忽略了什么?
private boolean isImageURL(ImageURL url) {
for (String type : fileTypes) {
if (type.equalsIgnoreCase("JPG Images")) {
if (url.isJPG() || url.isJPEG()) {
return true;
}
} else if (type.equalsIgnoreCase("PNG Images")) {
if (url.isPNG()) {
return true;
}
} else if (type.equalsIgnoreCase("GIF Images")) {
if (url.isGIF()) {
return true;
}
} else {
return false;
}
}
}
最佳答案
没有涵盖所有可能的执行路径。例如,如果类型是“JPG Images”,但 url 既不是 JPG 也不是 JPEG,则该方法不会返回任何内容。
删除最后一个 else
子句,并在方法末尾简单地返回 false
。
关于java - 函数在应该返回 boolean 值时却没有返回 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13902218/