How does Collections.reverseOrder know what type parameter to use while returning Comparator

后端 未结 5 1058
野趣味
野趣味 2021-01-05 20:02

As per Java API spec, the signature of Collections.reverseOrder is

public static Comparator reverseOrder()

And the example gi

5条回答
  •  無奈伤痛
    2021-01-05 20:52

    T is being resolved to Object. This passes, since Arrays.sort(T[], Comparator) would accept a Comparator, since Object is a supertype of T.

    Eclipse confirms that Collections.reverseOrder() is resolved to a Comparator in the code

    String[] array = new String[10];
    Arrays.sort(array, Collections.reverseOrder());
    

    提交回复
    热议问题