← 返回首页
Java CodeQL queries for Code Quality - GitHub Docs
Skip to main content

Java CodeQL queries for Code Quality

Explore the queries that CodeQL uses to analyze code quality for code written in Java.

Copy as Markdown

Code Quality uses the following CodeQL queries to analyze Java code and detect code quality issues on:

  • Your default branch, with results shown on the repository's "Standard findings" dashboard
  • Pull requests, with findings shown as comments made by github-code-quality[bot]

Copilot Autofix suggestions are provided for findings where possible.

Query nameCategorySeverityAccess to unsupported JDK-internal APIBoxed variable is never nullCast from abstract to concrete collectionClass has same name as super classConfusing method names because of capitalizationConfusing overloading of methodsConstant interface anti-patternContainer contents are never accessedInefficient empty string testInefficient String constructorInner class could be staticInterface cannot be implementedJavadoc has impossible 'throws' tagMisleading indentationMissing Override annotationMissing space in string literalMocking all public methods of a class may indicate the unit test is testing too muchNon-case label in switch statementNon-explicit control and whitespace charactersPossible confusion of local and fieldSpurious Javadoc @param tagsSubtle call to inherited methodUnderscore used as identifierUnread local variableUnused classes and interfacesUnused format argumentUnused labelUse of VisibleForTesting in production codeUseless null checkUseless parameterUseless toString on StringUseless type testArray index out of boundsCharacter passed to StringBuffer or StringBuilder constructorComparison of identical valuesConstant loop conditionContainer contents are never initializedContainer size compared to zeroContinue statement that does not continueContradictory type checksDereferenced expression may be nullDereferenced variable is always nullDereferenced variable may be nullDirect call to a run() methodDo not call finalize()Double-checked locking is not thread-safeEquals method does not inspect argument typeEquals on incomparable typesEquals or hashCode on arraysEscapingExposing internal representationExpression always evaluates to the same valueHashed value without hashCode definitionIgnored error status of callIgnored serialization member of record classImplicit conversion from array to stringInconsistent equals and hashCodeInconsistent synchronization of getter and setterInefficient output streamInefficient primitive constructorInefficient use of key set iteratorIterable wrapping an iteratorIterator implementing IterableLeft shift by more than the type widthMissing @Nested annotation on JUnit 5 inner test classMissing catch of NumberFormatExceptionMissing format argumentNon-final method invocation in constructorNon-synchronized override of synchronized methodNot thread-safePotential database resource leakPotential input resource leakPotential output resource leakRace condition in double-checked locking object initializationReference equality test of boxed typesResult of multiplication cast to wider typeSafe publicationSelf assignmentSuspicious date formatSynchronization on boxed types or stringsType mismatch on container accessType mismatch on container modificationUnreachable catch clauseUse of String#replaceAll with a first argument which is not a regular expressionUse of default toString()Useless comparison testWhitespace contradicts operator precedenceWrong NaN comparisonZero threads set for java.util.concurrent.ScheduledThreadPoolExecutor
MaintainabilityRecommendation
MaintainabilityWarning
MaintainabilityWarning
MaintainabilityRecommendation
MaintainabilityRecommendation
MaintainabilityRecommendation
MaintainabilityRecommendation
MaintainabilityError
MaintainabilityRecommendation
MaintainabilityRecommendation
MaintainabilityRecommendation
MaintainabilityWarning
MaintainabilityRecommendation
MaintainabilityWarning
MaintainabilityRecommendation
MaintainabilityRecommendation
MaintainabilityRecommendation
MaintainabilityRecommendation
MaintainabilityWarning
MaintainabilityRecommendation
MaintainabilityRecommendation
MaintainabilityWarning
MaintainabilityRecommendation
MaintainabilityRecommendation
MaintainabilityRecommendation
MaintainabilityWarning
MaintainabilityRecommendation
MaintainabilityWarning
MaintainabilityWarning
MaintainabilityRecommendation
MaintainabilityRecommendation
MaintainabilityWarning
ReliabilityError
ReliabilityError
ReliabilityError
ReliabilityWarning
ReliabilityError
ReliabilityWarning
ReliabilityWarning
ReliabilityError
ReliabilityWarning
ReliabilityError
ReliabilityWarning
ReliabilityRecommendation
ReliabilityError
ReliabilityError
ReliabilityError
ReliabilityError
ReliabilityError
ReliabilityWarning
ReliabilityRecommendation
ReliabilityWarning
ReliabilityError
ReliabilityRecommendation
ReliabilityWarning
ReliabilityRecommendation
ReliabilityError
ReliabilityError
ReliabilityWarning
ReliabilityRecommendation
ReliabilityRecommendation
ReliabilityWarning
ReliabilityWarning
ReliabilityWarning
ReliabilityWarning
ReliabilityRecommendation
ReliabilityError
ReliabilityError
ReliabilityWarning
ReliabilityWarning
ReliabilityWarning
ReliabilityWarning
ReliabilityWarning
ReliabilityWarning
ReliabilityError
ReliabilityWarning
ReliabilityWarning
ReliabilityError
ReliabilityWarning
ReliabilityError
ReliabilityError
ReliabilityError
ReliabilityWarning
ReliabilityRecommendation
ReliabilityRecommendation
ReliabilityWarning
ReliabilityWarning
ReliabilityError
ReliabilityRecommendation

Help and support

Did you find what you needed?

Yes No
Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

Learn how to contribute

Legal