'Comparable' implemented but 'equals()' not overridden | Java |
'Iterator.hasNext()' which calls 'next()' | Java |
'Iterator.next()' which can't throw 'NoSuchElementException' | Java |
'Math.random()' cast to 'int' | Java |
'ScheduledThreadPoolExecutor' with zero core threads | Java |
'String.equals()' called with 'CharSequence' argument | Java |
'Throwable' not thrown | Java |
'assert' statement with side effects | Java |
'equal()' instead of 'equals()' | Java |
'equals()' and 'hashCode()' not paired | Java |
'equals()' between objects of inconvertible types | Java |
'equals()' called on array | Java |
'equals()' called on classes which don't override it | Java |
'equals()' called on itself | Java |
'equals()' method which does not check class of parameter | Java |
'hashCode()' called on array | Java |
'instanceof' with incompatible interface | Java |
Array comparison using '==', instead of 'Arrays.equals()' | Java |
Call math rounding with 'int' argument | Java |
Call methods with unsupported 'java.time.temporal.ChronoUnit' and 'java.time.temporal.ChronoField' | Java |
Call to 'toString()' on array | Java |
Call to default 'toString()' | Java |
Cast conflicts with 'instanceof' | Java |
Casting to incompatible interface | Java |
Cleaner captures object reference | Java |
Collection added to itself | Java |
Confusing 'main()' method | Java |
Confusing argument to varargs method | Java |
Confusing primitive array argument to varargs method | Java |
Constant condition in 'assert' statement | Java |
Constant values | Java |
Contract issues | Java |
Copy constructor misses field | Java |
Covariant 'equals()' | Java |
Duplicated delimiters in 'StringTokenizer' | Java |
Inconsistent whitespace indentation in text block | Java |
Incorrect 'DateTimeFormat' pattern | Java |
Incorrect 'MessageFormat' pattern | Java |
Infinite recursion | Java |
Inner class referenced via subclass | Java |
Instantiation of utility class | Java |
Invalid method reference used for 'Comparator' | Java |
Iterable is used as vararg | Java |
Loop executes zero or billions of times | Java |
Magic Constant | Java |
Malformed format string | Java |
Meaningless record annotation | Java |
Mismatched case in 'String' operation | Java |
Mismatched query and update of 'StringBuilder' | Java |
Mismatched query and update of collection | Java |
Mismatched read and write of array | Java |
New object is compared using '==' | Java |
Non-final field referenced in 'compareTo()' | Java |
Non-final field referenced in 'equals()' | Java |
Non-final field referenced in 'hashCode()' | Java |
Non-short-circuit boolean expression | Java |
Non-short-circuit operation consumes infinite stream | Java |
Nullability and data flow problems | Java |
Number comparison using '==', instead of 'equals()' | Java |
Object comparison using '==', instead of 'equals()' | Java |
Optional.get() is called without isPresent() check | Java |
Overwritten Map, Set, or array element | Java |
Redundant operation on empty container | Java |
Reference checked for 'null' is not used inside 'if' | Java |
Reflective access to a source-only annotation | Java |
Result of method call ignored | Java |
Result of object allocation ignored | Java |
Sorted collection with non-comparable elements | Java |
Statement with empty body | Java |
Static field referenced via subclass | Java |
Static method referenced via subclass | Java |
String comparison using '==', instead of 'equals()' | Java |
String concatenation as argument to 'MessageFormat.format()' call | Java |
String concatenation as argument to 'format()' call | Java |
StringBuilder constructor call with 'char' argument | Java |
Subtraction in 'compareTo()' | Java |
Suspicious 'Arrays' method call | Java |
Suspicious 'Class.getClass()' call | Java |
Suspicious 'Collection.toArray()' call | Java |
Suspicious 'Comparator.compare()' implementation | Java |
Suspicious 'InvocationHandler' implementation | Java |
Suspicious 'List.remove()' in loop | Java |
Suspicious 'System.arraycopy()' call | Java |
Suspicious array cast | Java |
Suspicious byte value returned from 'InputStream.read()' | Java |
Suspicious collection method call | Java |
Suspicious date format pattern | Java |
Suspicious indentation after control statement without braces | Java |
Suspicious integer division assignment | Java |
Suspicious regex expression argument | Java |
Suspicious ternary operator in varargs method call | Java |
Suspicious usage of compare method | Java |
Suspicious variable/parameter name combination | Java |
Text label in 'switch' statement | Java |
Unsafe call to 'Class.newInstance()' | Java |
Unused assignment | Java |
Use of 'Properties' object as a 'Hashtable' | Java |
Use of Optional.ofNullable with null or not-null argument | Java |
Use of index 0 in JDBC ResultSet | Java |
Use of shallow or 'Objects' methods with arrays | Java |
Verify Java documentation | Java |
Whitespace may be missing in string concatenation | Java |
Write-only object | Java |
Wrong package statement | Java |