我有这段代码:
private void prepareContent() {
log.info("do something");
// success?
boolean suc = false;
suc = suc || uncompressToContent("file.tar.gz");
suc = suc || uncompressToContent("file.tgz");
for (int i = 0; i <= 9; i++) {
suc = suc || uncompressToContent("dir/" + i + ".tgz");
suc = suc || uncompressToContent("dir/" + i + ".tar.gz");
}
if (!suc) {
log.error("unable to do something");
}
}
Run Code Online (Sandbox Code Playgroud)
该函数对"file.tar.gz"和file.tgz"返回false.
问题是对uncompressToContent("dir/1.tgz")的调用返回true并且代码停止执行.其余代码未执行.
我不确定这是否是编译器中的错误.你怎么看?
补充:我忘了提到我需要执行对uncompressToContent的所有调用,并使用尽可能少的指令检查是否有任何返回true.
java ×1