According to definition of functional interface - A functional interface is an interface that contains only one abstract method.
But Comparator<T>
has two abstract methods:
int compare(T o1, T o2);
boolean equals(Object obj);
others are default and static.
JavaDocs mentions it as functional interface. How can it be?