我对 PMD 规则有疑问Avoid instantiating new objects inside loops
。这是一些示例代码:
import java.awt.Dimension;
public class PMDDemo {
public static void main(final String[] args) {
final Dimension[] arr = new Dimension[10];
for (int i = 0; i < arr.length; i++) {
arr[i] = new Dimension(i, i); // rule violation here
}
}
}
PMD 在代码中的标记位置给了我上面提到的违反规则的行为。我应该如何创建一个类的n 个实例而不在循环中创建它们?
我知道 PMD 的一些规则是有争议的(比如onlyOneExit规则)。但到现在为止,我至少明白了他们背后的想法。我不明白这条规则背后的原因。有人可以帮我吗?