Import RulesThese rules deal with different problems that can occur with a class' import statements. DuplicateImportsAvoid duplicate import statements. Here's an example of code that would trigger this rule: // this is bad import java.io.File; import java.io.File; public class Foo {} // --- in another source code file... // this is bad import java.io.*; import java.io.File; public class Foo {} DontImportJavaLangAvoid importing anything from the package 'java.lang'. These classes are automatically imported (JLS 7.5.3). This rule is defined by the following XPath expression: //ImportDeclaration [starts-with(Name/@Image, 'java.lang')] [not(starts-with(Name/@Image, 'java.lang.ref'))] [not(starts-with(Name/@Image, 'java.lang.reflect'))] Here's an example of code that would trigger this rule: // this is bad import java.lang.String; public class Foo {} // --- in another source code file... // this is bad import java.lang.*; public class Foo {} UnusedImportsAvoid unused import statements. Here's an example of code that would trigger this rule: // this is bad import java.io.File; public class Foo {} ImportFromSamePackageNo need to import a type that's in the same package. Here's an example of code that would trigger this rule: package foo; import foo.Buz; // no need for this public class Bar{} |