2015-11-02 54 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方法将会收到编译时错误,说明类型不匹配。

相关问题