具体点就拿Collections.reverseOrder(); 来说吧
public static <T> Comparator<T> reverseOrder() 这是reverseOrder()的原型
它是静态的,可是又有泛型。请问:
① 我使用这个静态函数的时候,如何指定其泛型呢?
非常感谢你那么用心,可是还是不大懂。
请问您可以举一个 使用了系统函数 Collections.reverseOrder(); 并且用到了泛型的代码吗?这样会好懂一点。
谢谢!!
//以下代码摘自《Thinking in Java》
List ints = Arrays.asList(25, 22, 20,
18, 14, 9, 3, 1, 1, 2, 3, 9, 14, 18, 21, 23, 25);
priorityQueue = new PriorityQueue(ints);
QueueDemo.printQ(priorityQueue);
priorityQueue = new PriorityQueue(
ints.size(), Collections.reverseOrder());
priorityQueue.addAll(ints);
QueueDemo.printQ(priorityQueue);
上面的就是Collections.reverseOrder()的用法,这个参数返回的是Comparator类型对象,实现了Comparator接口的compare和equals方法,最后实现了队列对象逆向排序。具体的泛型的使用在该函数内部。
你最好还是把泛型详细了解一下,泛型是个内容比较多的概念,包括泛型方法、泛型类、擦除等内容。看看《Thinking in Java》吧,泛型讲得很好的。