我最近使用 PMD(嵌入在 hudson 中)偶然发现了以下警告,我的代码似乎受到CollapsibleIfStatements的影响,我并不完全理解。代码看起来像这样
// list to be filled with unique Somethingness
List list = new ArrayList();
// fill list
for (SomeObject obj : getSomeObjects()) { // interating
if (!obj.getSomething().isEmpty()) { // check if "Something" is empty *
if (!list.contains(obj.getSomething())) { // check if "Something" is already in my list **
list.add(obj.getSomething()); // add "Something" to my list
}
}
}
在我看来,这段代码并不是更“可折叠”(否则下一个阅读代码的人会更加难以理解)。另一方面,我想解决这个警告(不停用 PMD ;)。