Inspectopedia
 
2024.3

'Comparator' class not declared 'Serializable'

Warning
New
Last modified: 03 December 2024

Reports classes that implement java.lang.Comparator, but do not implement java.io.Serializable.

If a non-serializable comparator is used to construct an ordered collection such as a java.util.TreeMap or java.util.TreeSet, then the collection will also be non-serializable. This can result in unexpected and difficult-to-diagnose bugs.

Since subclasses of java.lang.Comparator are often stateless, simply marking them serializable is a small cost to avoid such issues.

Example:

After the quick-fix is applied: