2015-11-02 29 views
0
public static <K, V> boolean compare(Pair<K, V> p1, Pair<K, V> p2) { 
     return p1.getKey().equals(p2.getKey()) && 
       p1.getValue().equals(p2.getValue()); 
    } 

通過我的研究仿製藥,我還沒有在這解釋了通用的返回類型之前的功能用於回答絆倒,如有人可以解釋這個通用方法

<K, V> 

那在boolean之前。

+4

你不是[只是問這個問題(http://stackoverflow.com/questions/33468076/what-is-the-purpose-of-generics-before-return-type)? – VGR

回答

0

泛型強制類型安全,同時允許調用者指定的任何類型。

在這種情況下,比較方法需要兩個Pair實例。 Pair類本身擁有2個實例。但是什麼數據類型?這是由K和V.

指定所以,調用對持有一個字符串和一個int對象對這種方法,我會做以下

Pair p1 = new Pair<string, int>("hi", 1); 
Pair p2 = new Pair<string, int>("bye", 2); 
instance.compare(p1, p2); 

如果兩種情況有成員不同的類型,那麼compare方法將會收到編譯時錯誤,說明類型不匹配。