Inspectopedia
 
2024.3

Suspicious usage of compare method

Warning
New
Last modified: 03 December 2024

Reports comparisons of the result of Comparator.compare() or Comparable.compareTo() calls with non-zero constants. By contract, these methods can return any integer (not just -1, 0 or 1), so comparing against particular numbers is bad practice. Some widely used comparison methods (e.g. String.compareTo()) actually return values outside the [-1..1] range, and such a comparison may cause incorrect program behavior.

Example:

After the quick-fix is applied:

New in 2017.2