Since: PMD 0.5
Avoid duplicate import statements.
This rule is defined by the following Java class: net.sourceforge.pmd.rules.imports.DuplicateImportsRule
Example:
import java.lang.String; import java.lang.*; public class Foo {}
Since: PMD 0.5
Avoid importing anything from the package 'java.lang'. These classes are automatically imported (JLS 7.5.3).
This rule is defined by the following Java class: net.sourceforge.pmd.rules.imports.DontImportJavaLang
Example:
// this is bad import java.lang.String; public class Foo {} // --- in another source code file... // this is bad import java.lang.*; public class Foo {}
Since: PMD 1.0
Avoid unused import statements.
This rule is defined by the following Java class: net.sourceforge.pmd.rules.imports.UnusedImportsRule
Example:
// this is bad import java.io.File; public class Foo {}
Since: PMD 1.02
No need to import a type that lives in the same package.
This rule is defined by the following Java class: net.sourceforge.pmd.rules.imports.ImportFromSamePackageRule
Example:
package foo; import foo.Buz; // no need for this import foo.*; // or this public class Bar{}
Since: PMD 4.1
If you overuse the static import feature, it can make your program unreadable and unmaintainable, polluting its namespace with all the static members you import. Readers of your code (including you, a few months after you wrote it) will not know which class a static member comes from (Sun 1.5 Language Guide).
This rule is defined by the following XPath expression:
.[count(ImportDeclaration[@Static = 'true']) > $maximumStaticImports]
Example:
import static Lennon; import static Ringo; import static George; import static Paul; import static Yoko; // Too much !
This rule has the following properties:
Name | Default value | Description |
---|---|---|
maximumStaticImports | All static imports can be disallowed by setting this to 0 |