Comparable<T>中,对于返回,尽量不要使用value1 - value2,万一value1是很大的正数,value2是很大的负数,那么容易造成溢出
Comparable接口中,经常有T extends Comparable<? super T>的,该怎么理解
Orange extends Comparable<Fruit> and Fruit super Orange
就是继承这个接口的类,可以用Collections.sort之类的的generic方法来比较同样实现了同接口的实例
当我们并不想给每一个我们想比较的类implements Comparabl<T>的时候,可以用interface Comparator
static max(Colleciton<? extends T> coll, Comparator<? super T> cmp)
bound type parameter,就是java method中愿意接受的参数的范围。mutli-bound,比如
<T extends Callable & Comparable> foo( T param)
iterator().next(),更好的取出集合中的第一个值,比如map,list,set之类的,可以写出更加模块化的代码,比get(0)好很多,利用java里面collection中的理念