对于某些方法,我收到警告。这就是扩展后的说法。
以下代码(mkDirs()
)给出警告
if (!myDir.exists()) {
myDir.mkdirs();
}
报告对忽略该调用结果的特定方法的任何调用。检查用org.jetbrains.annotations.Contract(pure = true)注释的检查设置和方法中指定的两种方法。对于许多方法,忽略结果是完全合法的,但对于某些方法,它几乎肯定是一个错误。忽略调用结果可能是错误的方法示例包括java.io.inputStream.read(),它返回实际读取的字节数,java.lang.String或java.math.BigInteger上的任何方法因为所有这些方法都是无副作用的,因此如果被忽略则毫无意义。
这是什么意思?怎么避免呢?该如何解决?
答案 0 :(得分:0)
使用注解可以省略警告
@SuppressWarnings("ResultOfMethodCallIgnored")
public void someMethod() {
...
myDir.mkdirs();
...
}
如果目录存在,mkdir()
操作将返回false
,如果不存在,它将被创建(当然,如果你有适当的权限),因此,恕我直言,可以省略通过 isExists()
检查。
但是,如上所述,如果您正在使用此目录,最好确保它存在。