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> {}