我有一个List<File>
,我希望确保每个File
元素都是一个目录,如果不是,则抛出异常。
在Java中,我会这样做:
List<File> possibleDirs;
...
for (File possibleDir : possibleDirs) {
if (!possibleDir.isDirectory()) throw new Exception();
...
}
但我想知道在groovy中是否有更好的方法可以做到这一点
答案 0 :(得分:0)
我想知道在groovy中是否有更好的方法可以做到这一点
你有什么好的。您可以使用一些Groovy-isms,例如使用Closure进行迭代:
possibleDirs.each { file ->
if(!file.isDirectory()) {
// throw exception...
}
}
或者...
def allAreDirs = possibleDirs.every { file ->
file.isDirectory()
}
if(!allAreDirs) {
// throw exception...
}
我不认为其中任何一个都比你拥有的更好。针对every
方法的论点是,只要您知道存在问题,就必须访问上一种方法和您描述的方法的每个文件。
修改强>
我想你也可以这样做:
if(possibleDirs.find { !it.isDirectory() }) {
// throw exception...
}