У меня проблема с правилом 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). Но до сих пор я по крайней мере понял идею, стоящую за ними. Я не понимаю причины этого правила. Может ли кто-нибудь помочь мне с этим?