Do not edit this generated file.
- Total rules in old version (4.1.0): 282
- Total rules in new version (4.2.0): 292
- Rules added: 10
- Rules removed: 0
- Rules unchanged: 233
- Rules updated: 49
- Rules renamed: 10
The following rules have been added in the new version:
| Rule Key | Name | Severity | Category |
|---|---|---|---|
| CollectionTypeMismatch | Collection type mismatch | Medium | errorprone |
| DanglingJavadoc | Dangling javadoc | Medium | documentation |
| ModifierOrder | Modifier order | Medium | codestyle |
| OverrideBothEqualsAndHashCodeOnComparable | Override both equals and hash code on comparable | Medium | errorprone |
| RelianceOnDefaultCharset | Reliance on default charset | Medium | bestpractices |
| ReplaceJavaUtilCalendar | Replace java util calendar | Medium | errorprone |
| ReplaceJavaUtilDate | Replace java util date | Medium | errorprone |
| TypeParameterNamingConventions | Type parameter naming conventions | Low | codestyle |
| UselessPureMethodCall | Useless pure method call | Medium | errorprone |
| VariableCanBeInlined | Variable can be inlined | Low | codestyle |
The following rules have been updated in the new version:
| Rule Key | Name | Old Severity | New Severity | Old Status | New Status | Alternatives | Category |
|---|---|---|---|---|---|---|---|
| AtLeastOneConstructor | At least one constructor | Medium | Low | Active | codestyle | ||
| AvoidDollarSigns | Avoid dollar signs | Medium | Low | Active | codestyle | ||
| AvoidLosingExceptionInformation | Avoid losing exception information | Active | Deprecated | errorprone | |||
| AvoidProtectedFieldInFinalClass | Avoid protected field in final class | Medium | Low | Active | codestyle | ||
| AvoidProtectedMethodInFinalClassNotExtending | Avoid protected method in final class not extending | Medium | Low | Active | codestyle | ||
| AvoidUsingNativeCode | Avoid using native code | High | Medium | Active | codestyle | ||
| CallSuperInConstructor | Call super in constructor | Medium | Low | Active | codestyle | ||
| ClassNamingConventions | Class naming conventions | Blocker | Medium | Active | codestyle | ||
| CommentDefaultAccessModifier | Comment default access modifier | Medium | Low | Active | codestyle | ||
| ConfusingTernary | Confusing ternary | Medium | Low | Active | codestyle | ||
| ControlStatementBraces | Control statement braces | Medium | Low | Active | codestyle | ||
| EmptyControlStatement | Empty control statement | Medium | Low | Active | codestyle | ||
| EmptyMethodInAbstractClassShouldBeAbstract | Empty method in abstract class should be abstract | Blocker | Medium | Active | codestyle | ||
| FieldDeclarationsShouldBeAtStartOfClass | Field declarations should be at start of class | Medium | Low | Active | codestyle | ||
| FieldNamingConventions | Field naming conventions | Blocker | Medium | Active | codestyle | ||
| FinalParameterInAbstractMethod | Final parameter in abstract method | Blocker | Medium | Active | codestyle | ||
| ForLoopShouldBeWhileLoop | For loop should be while loop | Medium | Low | Active | codestyle | ||
| FormalParameterNamingConventions | Formal parameter naming conventions | Blocker | Medium | Active | codestyle | ||
| GenericsNaming | Generics naming | Active | Deprecated | codestyle | |||
| IdenticalCatchBranches | Identical catch branches | Medium | Low | Active | codestyle | ||
| InvalidLogMessageFormat | Invalid log message format | Info | Low | Active | errorprone | ||
| LambdaCanBeMethodReference | Lambda can be method reference | Medium | Low | Active | codestyle | ||
| LinguisticNaming | Linguistic naming | Medium | Low | Active | codestyle | ||
| LocalVariableCouldBeFinal | Local variable could be final | Medium | Low | Active | codestyle | ||
| LocalVariableNamingConventions | Local variable naming conventions | Blocker | Medium | Active | codestyle | ||
| LongVariable | Long variable | Medium | Low | Active | codestyle | ||
| MethodArgumentCouldBeFinal | Method argument could be final | Medium | Low | Active | codestyle | ||
| MethodNamingConventions | Method naming conventions | Blocker | Medium | Active | codestyle | ||
| NoPackage | No package | Medium | Low | Active | codestyle | ||
| OnlyOneReturn | Only one return | Medium | Low | Active | codestyle | ||
| PackageCase | Package case | Medium | Low | Active | codestyle | ||
| PrematureDeclaration | Premature declaration | Medium | Low | Active | codestyle | ||
| ShortMethodName | Short method name | Medium | Low | Active | codestyle | ||
| ShortVariable | Short variable | Medium | Low | Active | codestyle | ||
| TooManyStaticImports | Too many static imports | Medium | Low | Active | codestyle | ||
| UnnecessaryAnnotationValueElement | Unnecessary annotation value element | Medium | Low | Active | codestyle | ||
| UnnecessaryBoxing | Unnecessary boxing | Medium | Low | Active | codestyle | ||
| UnnecessaryCast | Unnecessary cast | Medium | Low | Active | codestyle | ||
| UnnecessaryConstructor | Unnecessary constructor | Medium | Low | Active | codestyle | ||
| UnnecessaryLocalBeforeReturn | Unnecessary local before return | Medium | Low | Active | Deprecated | codestyle | |
| UnnecessaryModifier | Unnecessary modifier | Medium | Low | Active | codestyle | ||
| UnnecessaryReturn | Unnecessary return | Medium | Low | Active | codestyle | ||
| UnnecessarySemicolon | Unnecessary semicolon | Medium | Low | Active | codestyle | ||
| UseDiamondOperator | Use diamond operator | Medium | Low | Active | codestyle | ||
| UseExplicitTypes | Use explicit types | Medium | Low | Active | codestyle | ||
| UseShortArrayInitializer | Use short Array initializer | Medium | Low | Active | codestyle | ||
| UseUnderscoresInNumericLiterals | Use underscores in numeric literals | Medium | Low | Active | codestyle | ||
| UselessOperationOnImmutable | Useless operation on immutable | Active | Deprecated | errorprone | |||
| UselessQualifiedThis | Useless qualified this | Medium | Low | Active | codestyle |
The following rules exist in both versions with no changes:
| Rule Key | Name | Severity | Status | Alternatives | Category |
|---|---|---|---|---|---|
| AbstractClassWithoutAbstractMethod | Abstract class without abstract method | Medium | Active | bestpractices | |
| AbstractClassWithoutAnyMethod | Abstract class without any method | Blocker | Active | design | |
| AccessorClassGeneration | Accessor class generation | Medium | Active | bestpractices | |
| AccessorMethodGeneration | Accessor method generation | Medium | Active | bestpractices | |
| AddEmptyString | Add empty string | Medium | Active | performance | |
| AppendCharacterWithChar | Append character with char | Medium | Active | performance | |
| ArrayIsStoredDirectly | Array is stored directly | Medium | Active | bestpractices | |
| AssignmentInOperand | Assignment in operand | Medium | Active | errorprone | |
| AssignmentToNonFinalStatic | Assignment to non final static | Medium | Active | errorprone | |
| AvoidAccessibilityAlteration | Avoid accessibility alteration | Medium | Active | errorprone | |
| AvoidArrayLoops | Avoid array loops | Medium | Active | performance | |
| AvoidAssertAsIdentifier | Avoid assert as identifier | High | Active | errorprone | |
| AvoidBranchingStatementAsLastInLoop | Avoid branching statement as last in loop | High | Active | errorprone | |
| AvoidCalendarDateCreation | Avoid calendar date creation | Medium | Active | performance | |
| AvoidCallingFinalize | Avoid calling finalize | Medium | Active | errorprone | |
| AvoidCatchingGenericException | Avoid catching generic exception | Medium | Active | design | |
| AvoidCatchingNPE | Avoid catching NPE | Medium | Active | errorprone | |
| AvoidCatchingThrowable | Avoid catching Throwable | Medium | Active | errorprone | |
| AvoidDecimalLiteralsInBigDecimalConstructor | Avoid decimal literals in BigDecimal constructor | Medium | Active | errorprone | |
| AvoidDeeplyNestedIfStmts | Avoid deeply nested if stmts | Medium | Active | design | |
| AvoidDuplicateLiterals | Avoid duplicate literals | Medium | Active | errorprone | |
| AvoidEnumAsIdentifier | Avoid enum as identifier | High | Active | errorprone | |
| AvoidFieldNameMatchingMethodName | Avoid field name matching method name | Medium | Active | errorprone | |
| AvoidFieldNameMatchingTypeName | Avoid field name matching type name | Medium | Active | errorprone | |
| AvoidFileStream | Avoid file stream | Blocker | Active | performance | |
| AvoidInstanceofChecksInCatchClause | Avoid instanceof checks in catch clause | Medium | Active | errorprone | |
| AvoidInstantiatingObjectsInLoops | Avoid instantiating objects in loops | Medium | Active | performance | |
| AvoidLiteralsInIfCondition | Avoid literals in if condition | Medium | Active | errorprone | |
| AvoidMessageDigestField | Avoid message digest field | Medium | Active | bestpractices | |
| AvoidMultipleUnaryOperators | Avoid multiple unary operators | High | Active | errorprone | |
| AvoidPrintStackTrace | Avoid print stack trace | Medium | Active | bestpractices | |
| AvoidReassigningCatchVariables | Avoid reassigning catch variables | Medium | Active | bestpractices | |
| AvoidReassigningLoopVariables | Avoid reassigning loop variables | Medium | Active | bestpractices | |
| AvoidReassigningParameters | Avoid reassigning parameters | High | Active | bestpractices | |
| AvoidRethrowingException | Avoid rethrowing exception | Medium | Active | design | |
| AvoidStringBufferField | Avoid StringBuffer field | Medium | Active | bestpractices | |
| AvoidSynchronizedAtMethodLevel | Avoid synchronized at method level | Medium | Active | multithreading | |
| AvoidSynchronizedStatement | Avoid synchronized statement | Medium | Active | multithreading | |
| AvoidThreadGroup | Avoid ThreadGroup | Medium | Active | multithreading | |
| AvoidThrowingNewInstanceOfSameException | Avoid throwing new instance of same exception | Medium | Active | design | |
| AvoidThrowingNullPointerException | Avoid throwing NullPointerException | Blocker | Active | design | |
| AvoidThrowingRawExceptionTypes | Avoid throwing raw exception types | Blocker | Active | design | |
| AvoidUncheckedExceptionsInSignatures | Avoid unchecked exceptions in signatures | Medium | Active | design | |
| AvoidUsingHardCodedIP | Avoid using hard coded IP | Medium | Active | bestpractices | |
| AvoidUsingOctalValues | Avoid using octal values | Medium | Active | errorprone | |
| AvoidUsingVolatile | Avoid using volatile | High | Active | multithreading | |
| BigIntegerInstantiation | BigInteger instantiation | Medium | Active | performance | |
| BooleanGetMethodName | Boolean get method name | Low | Active | codestyle | |
| BrokenNullCheck | Broken null check | High | Active | errorprone | |
| CallSuperFirst | Call super first | Medium | Active | errorprone | |
| CallSuperLast | Call super last | Medium | Active | errorprone | |
| CheckResultSet | Check result set | Medium | Active | bestpractices | |
| CheckSkipResult | Check skip result | Medium | Active | errorprone | |
| ClassCastExceptionWithToArray | ClassCastException with toArray | Medium | Active | errorprone | |
| ClassWithOnlyPrivateConstructorsShouldBeFinal | Class with only private constructors should be final | Blocker | Active | design | |
| CloneMethodMustBePublic | Clone method must be public | Medium | Active | errorprone | |
| CloneMethodMustImplementCloneable | Clone method must implement Cloneable | Medium | Active | errorprone | |
| CloneMethodReturnTypeMustMatchClassName | Clone method return type must match class name | Medium | Active | errorprone | |
| CloseResource | Close resource | Medium | Active | errorprone | |
| CognitiveComplexity | Cognitive complexity | Medium | Active | design | |
| CollapsibleIfStatements | Collapsible if statements | Medium | Active | design | |
| CommentContent | Comment content | Medium | Active | documentation | |
| CommentRequired | Comment required | Medium | Active | documentation | |
| CommentSize | Comment size | Medium | Active | documentation | |
| CompareObjectsWithEquals | Compare objects with equals | Medium | Active | errorprone | |
| ComparisonWithNaN | Comparison with NaN | Medium | Active | errorprone | |
| ConfusingArgumentToVarargsMethod | Confusing argument to varargs method | Medium | Active | errorprone | |
| ConsecutiveAppendsShouldReuse | Consecutive appends should reuse | Medium | Active | performance | |
| ConsecutiveLiteralAppends | Consecutive literal appends | Medium | Active | performance | |
| ConstantsInInterface | Constants in interface | Medium | Active | bestpractices | |
| ConstructorCallsOverridableMethod | Constructor calls overridable method | Blocker | Active | errorprone | |
| CouplingBetweenObjects | Coupling between objects | Medium | Active | design | |
| CyclomaticComplexity | Cyclomatic complexity | Medium | Active | design | |
| DataClass | Data class | Medium | Active | design | |
| DefaultLabelNotLastInSwitch | Default label not last in switch | Medium | Active | bestpractices | |
| DetachedTestCase | Detached test case | Medium | Active | errorprone | |
| DoNotCallGarbageCollectionExplicitly | Do not call garbage collection explicitly | High | Active | errorprone | |
| DoNotExtendJavaLangError | Do not extend java.lang.Error | Medium | Active | design | |
| DoNotExtendJavaLangThrowable | Do not extend java.lang.Throwable | Medium | Active | errorprone | |
| DoNotHardCodeSDCard | Do not hard code SDCard | Medium | Active | errorprone | |
| DoNotTerminateVM | Do not terminate VM | Medium | Active | errorprone | |
| DoNotThrowExceptionInFinally | Do not throw exception in finally | Low | Active | errorprone | |
| DoNotUseThreads | Do not use threads | Medium | Active | multithreading | |
| DontCallThreadRun | Dont call thread run | Low | Active | multithreading | |
| DontImportSun | Dont import sun | Low | Active | errorprone | |
| DontUseFloatTypeForLoopIndices | Dont use float type for loop indices | Medium | Active | errorprone | |
| DoubleBraceInitialization | Double brace initialization | Medium | Active | bestpractices | |
| DoubleCheckedLocking | Double checked locking | Blocker | Active | multithreading | |
| EmptyCatchBlock | Empty catch block | Medium | Active | errorprone | |
| EmptyFinalizer | Empty finalizer | Medium | Active | errorprone | |
| EqualsNull | Equals null | Blocker | Active | errorprone | |
| ExceptionAsFlowControl | Exception as flow control | Medium | Active | design | |
| ExcessiveImports | Excessive imports | Medium | Active | design | |
| ExcessiveParameterList | Excessive parameter List | Medium | Active | design | |
| ExcessivePublicCount | Excessive public count | Medium | Active | design | |
| ExhaustiveSwitchHasDefault | Exhaustive switch has default | Medium | Active | bestpractices | |
| ExtendsObject | Extends object | Low | Active | codestyle | |
| FinalFieldCouldBeStatic | Final field could be static | Medium | Active | design | |
| FinalizeDoesNotCallSuperFinalize | Finalize does not call super finalize | Medium | Active | errorprone | |
| FinalizeOnlyCallsSuperFinalize | Finalize only calls super finalize | Medium | Active | errorprone | |
| FinalizeOverloaded | Finalize overloaded | Medium | Active | errorprone | |
| FinalizeShouldBeProtected | Finalize should be protected | Medium | Active | errorprone | |
| ForLoopCanBeForeach | For loop can be foreach | Medium | Active | bestpractices | |
| ForLoopVariableCount | For loop variable count | Medium | Active | bestpractices | |
| GodClass | God class | Medium | Active | design | |
| GuardLogStatement | Guard log statement | High | Active | bestpractices | |
| HardCodedCryptoKey | Hard coded crypto key | Medium | Active | security | |
| IdempotentOperations | Idempotent operations | Medium | Active | errorprone | |
| ImmutableField | Immutable field | Medium | Active | design | |
| ImplicitFunctionalInterface | Implicit functional interface | High | Active | bestpractices | |
| ImplicitSwitchFallThrough | Implicit switch fall through | Medium | Active | errorprone | |
| InefficientEmptyStringCheck | Inefficient empty string check | Medium | Active | performance | |
| InefficientStringBuffering | Inefficient string buffering | Medium | Active | performance | |
| InsecureCryptoIv | Insecure crypto IV | Medium | Active | security | |
| InstantiationToGetClass | Instantiation to get class | Low | Active | errorprone | |
| InsufficientStringBufferDeclaration | Insufficient StringBuffer declaration | Medium | Active | performance | |
| InvalidJavaBean | Invalid Java bean | Medium | Active | design | |
| JUnit4SuitesShouldUseSuiteAnnotation | JUnit4 suites should use suite annotation | Medium | Active | bestpractices | |
| JUnit5TestShouldBePackagePrivate | JUnit5 test should be package private | Medium | Active | bestpractices | |
| JUnitSpelling | JUnit spelling | Medium | Active | errorprone | |
| JUnitStaticSuite | JUnit static suite | Medium | Active | errorprone | |
| JUnitUseExpected | JUnit use expected | Medium | Active | bestpractices | |
| JumbledIncrementer | Jumbled incrementer | Medium | Active | errorprone | |
| LawOfDemeter | Law of demeter | Medium | Active | design | |
| LiteralsFirstInComparisons | Literals first in comparisons | Medium | Active | bestpractices | |
| LocalHomeNamingConvention | Local home naming convention | Low | Active | codestyle | |
| LocalInterfaceSessionNamingConvention | Local interface session naming convention | Low | Active | codestyle | |
| LogicInversion | Logic inversion | Medium | Active | design | |
| LooseCoupling | Loose coupling | Medium | Active | bestpractices | |
| LoosePackageCoupling | Loose package coupling | Medium | Active | design | |
| MDBAndSessionBeanNamingConvention | MDB and session bean naming convention | Low | Active | codestyle | |
| MethodReturnsInternalArray | Method returns internal array | Medium | Active | bestpractices | |
| MethodWithSameNameAsEnclosingClass | Method with same name as enclosing class | Medium | Active | errorprone | |
| MisplacedNullCheck | Misplaced null check | Medium | Active | errorprone | |
| MissingOverride | Missing override | Medium | Active | bestpractices | |
| MissingSerialVersionUID | Missing serialVersionUID | Medium | Active | errorprone | |
| MissingStaticMethodInNonInstantiatableClass | Missing static method in non instantiatable class | Medium | Active | errorprone | |
| MoreThanOneLogger | More than one logger | High | Active | errorprone | |
| MutableStaticState | Mutable static state | Medium | Active | design | |
| NPathComplexity | NPath complexity | Medium | Active | design | |
| NcssCount | NCSS count | Medium | Active | design | |
| NonCaseLabelInSwitch | Non case label in switch | Medium | Active | errorprone | |
| NonExhaustiveSwitch | Non exhaustive switch | Medium | Active | bestpractices | |
| NonSerializableClass | Non serializable class | Medium | Active | errorprone | |
| NonStaticInitializer | Non static initializer | Medium | Active | errorprone | |
| NonThreadSafeSingleton | Non thread safe singleton | Medium | Active | multithreading | |
| NullAssignment | Null assignment | Medium | Active | errorprone | |
| OneDeclarationPerLine | One declaration per line | Low | Active | bestpractices | |
| OptimizableToArrayCall | Optimizable toArray call | Medium | Active | performance | |
| OverrideBothEqualsAndHashcode | Override both equals and hashcode | Medium | Active | errorprone | |
| PreserveStackTrace | Preserve stack trace | Medium | Active | bestpractices | |
| PrimitiveWrapperInstantiation | Primitive wrapper instantiation | Medium | Active | bestpractices | |
| ProperCloneImplementation | Proper clone implementation | High | Active | errorprone | |
| ProperLogger | Proper logger | Medium | Active | errorprone | |
| RedundantFieldInitializer | Redundant field initializer | Medium | Active | performance | |
| RemoteInterfaceNamingConvention | Remote interface naming convention | Low | Active | codestyle | |
| RemoteSessionInterfaceNamingConvention | Remote session interface naming convention | Low | Active | codestyle | |
| ReplaceEnumerationWithIterator | Replace Enumeration with Iterator | Medium | Active | bestpractices | |
| ReplaceHashtableWithMap | Replace Hashtable with Map | Medium | Active | bestpractices | |
| ReplaceVectorWithList | Replace Vector with List | Medium | Active | bestpractices | |
| ReturnEmptyCollectionRatherThanNull | Return empty collection rather than null | Blocker | Active | errorprone | |
| ReturnFromFinallyBlock | Return from finally block | Medium | Active | errorprone | |
| ShortClassName | Short class name | Low | Active | codestyle | |
| SignatureDeclareThrowsException | Signature declare throws Exception | Medium | Active | design | |
| SimpleDateFormatNeedsLocale | SimpleDateFormat needs Locale | Medium | Active | errorprone | |
| SimplifiableTestAssertion | Simplifiable test assertion | Medium | Active | bestpractices | |
| SimplifiedTernary | Simplified ternary | Medium | Active | design | |
| SimplifyBooleanExpressions | Simplify boolean expressions | Medium | Active | design | |
| SimplifyBooleanReturns | Simplify boolean returns | Medium | Active | design | |
| SimplifyConditional | Simplify conditional | Medium | Active | design | |
| SingleMethodSingleton | Single method singleton | High | Active | errorprone | |
| SingletonClassReturningNewInstance | Singleton class returning new instance | High | Active | errorprone | |
| SingularField | Singular field | Medium | Active | design | |
| StaticEJBFieldShouldBeFinal | Static EJBField should be final | Medium | Active | errorprone | |
| StringBufferInstantiationWithChar | StringBuffer instantiation with char | Low | Active | errorprone | |
| StringInstantiation | String instantiation | High | Active | performance | |
| StringToString | String to string | Medium | Active | performance | |
| SuspiciousEqualsMethodName | Suspicious equals method name | High | Active | errorprone | |
| SuspiciousHashcodeMethodName | Suspicious hashcode method name | Medium | Active | errorprone | |
| SuspiciousOctalEscape | Suspicious octal escape | Medium | Active | errorprone | |
| SwitchDensity | Switch density | Medium | Active | design | |
| SystemPrintln | System println | High | Active | bestpractices | |
| TestClassWithoutTestCases | Test class without test cases | Medium | Active | errorprone | |
| TooFewBranchesForSwitch | Too few branches for switch | Medium | Active | performance | |
| TooManyFields | Too many fields | Medium | Active | design | |
| TooManyMethods | Too many methods | Medium | Active | design | |
| UncommentedEmptyConstructor | Uncommented empty constructor | Medium | Active | documentation | |
| UncommentedEmptyMethodBody | Uncommented empty method body | Medium | Active | documentation | |
| UnconditionalIfStatement | Unconditional if statement | Medium | Active | errorprone | |
| UnitTestAssertionsShouldIncludeMessage | Unit test assertions should include message | Medium | Active | bestpractices | |
| UnitTestContainsTooManyAsserts | Unit test contains too many asserts | Medium | Active | bestpractices | |
| UnitTestShouldIncludeAssert | Unit test should include assert | Medium | Active | bestpractices | |
| UnitTestShouldUseAfterAnnotation | Unit test should use after annotation | Medium | Active | bestpractices | |
| UnitTestShouldUseBeforeAnnotation | Unit test should use before annotation | Medium | Active | bestpractices | |
| UnitTestShouldUseTestAnnotation | Unit test should use test annotation | Medium | Active | bestpractices | |
| UnnecessaryBooleanAssertion | Unnecessary boolean assertion | Medium | Active | errorprone | |
| UnnecessaryCaseChange | Unnecessary case change | Medium | Active | errorprone | |
| UnnecessaryConversionTemporary | Unnecessary conversion temporary | Medium | Active | errorprone | |
| UnnecessaryFullyQualifiedName | Unnecessary fully qualified name | Low | Active | codestyle | |
| UnnecessaryImport | Unnecessary import | Low | Active | codestyle | |
| UnnecessaryVarargsArrayCreation | Unnecessary varargs array creation | Medium | Active | bestpractices | |
| UnnecessaryWarningSuppression | Unnecessary warning suppression | Medium | Active | bestpractices | |
| UnsynchronizedStaticFormatter | Unsynchronized static formatter | Medium | Active | multithreading | |
| UnusedAssignment | Unused assignment | Medium | Active | bestpractices | |
| UnusedFormalParameter | Unused formal parameter | Medium | Active | bestpractices | |
| UnusedLocalVariable | Unused local variable | Medium | Active | bestpractices | |
| UnusedNullCheckInEquals | Unused null check in equals | Medium | Active | errorprone | |
| UnusedPrivateField | Unused private field | Medium | Active | bestpractices | |
| UnusedPrivateMethod | Unused private method | Medium | Active | bestpractices | |
| UseArrayListInsteadOfVector | Use Arrays.asList | Medium | Active | performance | |
| UseArraysAsList | Use arrays as List | Medium | Active | performance | |
| UseCollectionIsEmpty | Use Collection.isEmpty | Medium | Active | bestpractices | |
| UseConcurrentHashMap | Use ConcurrentHashMap | Medium | Active | multithreading | |
| UseCorrectExceptionLogging | Use correct exception logging | Medium | Active | errorprone | |
| UseEnumCollections | Use enum collections | Medium | Active | bestpractices | |
| UseEqualsToCompareStrings | Use equals to compare strings | Medium | Active | errorprone | |
| UseIOStreamsWithApacheCommonsFileItem | Use IOStreams with apache commons FileItem | Medium | Active | performance | |
| UseIndexOfChar | Use index of char | Medium | Active | performance | |
| UseLocaleWithCaseConversions | Use Locale with case conversions | Medium | Active | errorprone | |
| UseNotifyAllInsteadOfNotify | Use notifyAll instead of notify | Medium | Active | multithreading | |
| UseObjectForClearerAPI | Use object for clearer API | Medium | Active | design | |
| UseProperClassLoader | Use proper ClassLoader | Medium | Active | errorprone | |
| UseStandardCharsets | Use standard Charsets | Medium | Active | bestpractices | |
| UseStringBufferForStringAppends | Use StringBuffer for string appends | Medium | Active | performance | |
| UseStringBufferLength | Use StringBuffer length | Medium | Active | performance | |
| UseTryWithResources | Use try with resources | Medium | Active | bestpractices | |
| UseUtilityClass | Use utility class | Medium | Active | design | |
| UseVarargs | Use varargs | Low | Active | bestpractices | |
| UselessOverridingMethod | Useless overriding method | Medium | Active | design | |
| UselessParentheses | Useless parentheses | Low | Active | codestyle | |
| UselessStringValueOf | Useless String.valueOf | Medium | Active | performance | |
| WhileLoopWithLiteralBoolean | While loop with literal boolean | Medium | Active | bestpractices | |
| XPathRule | PMD XPath Template Rule | Active |
The following rules have new names:
| Rule name | New rule name | Category |
|---|---|---|
| DefaultLabelNotLastInSwitchStmt | DefaultLabelNotLastInSwitch | bestpractices |
| JUnit4TestShouldUseAfterAnnotation | UnitTestShouldUseAfterAnnotation | bestpractices |
| JUnit4TestShouldUseBeforeAnnotation | UnitTestShouldUseBeforeAnnotation | bestpractices |
| JUnit4TestShouldUseTestAnnotation | UnitTestShouldUseTestAnnotation | bestpractices |
| JUnitAssertionsShouldIncludeMessage | UnitTestAssertionsShouldIncludeMessage | bestpractices |
| JUnitTestContainsTooManyAsserts | UnitTestContainsTooManyAsserts | bestpractices |
| JUnitTestsShouldIncludeAssert | UnitTestShouldIncludeAssert | bestpractices |
| NonCaseLabelInSwitchStatement | NonCaseLabelInSwitch | errorprone |
| SwitchStmtsShouldHaveDefault | NonExhaustiveSwitch | bestpractices |
| TooFewBranchesForASwitchStatement | TooFewBranchesForSwitch | performance |
No rules were removed.
Report generated on Mon Sep 29 11:44:31 CEST 2025