http://www.importnew.com/7553.htmlhtml
一、由于某些对象的hashCode可能会为负值,与0x7FFFFFFF进行与运算能够确保index为一个正数java
/** * Maps a long to an int with range of 0 to Integer.MAX_VALUE-1 */ public static int idToIndex(long id) { return 0x7FFFFFFF & Longs.hashCode(id) % 0x7FFFFFFE; }
http://blog.csdn.net/lonely_fireworks/article/details/7962171.net
http://www.runoob.com/java/java-generics.htmlcode
反泛型方法 一、普通的方法htm
public static < E > void printArray( E[] inputArray ){ }对象
二、有界的类型参数: 可能有时候,你会想限制那些被容许传递到一个类型参数的类型种类范围。例如,一个操做数字的方法可能只但愿接受Number或者Number子类的实例。这就是有界类型参数的目的。 要声明一个有界的类型参数,首先列出类型参数的名称,后跟extends关键字,最后紧跟它的上界。blog
public static <T extends Comparable<T>> T maximum(T x, T y, T z) {}get
三、类型通配符input
类型通配符通常是使用?代替具体的类型参数。例如 List<?> 在逻辑上是List<String>,List<Integer> 等全部List<具体类型实参>的父类。hash
public static void getData(List<?> data) { System.out.println("data :" + data.get(0)); } public static void getUperNumber(List<? extends Number> data) { System.out.println("data :" + data.get(0)); }
泛型类
public class Box<T> {}