Java 有人能解释一下这种通用方法吗 公共静态布尔比较(对p1,对p2){ 返回p1.getKey().equals(p2.getKey())&& p1.getValue().equals(p2.getValue()); }

Java 有人能解释一下这种通用方法吗 公共静态布尔比较(对p1,对p2){ 返回p1.getKey().equals(p2.getKey())&& p1.getValue().equals(p2.getValue()); },java,generics,methods,return-type,Java,Generics,Methods,Return Type,通过我对泛型的研究,我还没有找到一个答案来解释返回类型之前泛型的功能,如 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()); } 这正好出现在b

通过我对泛型的研究,我还没有找到一个答案来解释返回类型之前泛型的功能,如

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());
    }


这正好出现在
boolean

泛型强制类型安全性之前,同时允许调用程序指定的任何类型

在本例中,比较方法采用两对实例。Pair类本身包含2个实例。但是什么样的数据类型呢?这是由K和V指定的

因此,要在包含字符串和int的Pair对象上调用此方法,我将执行以下操作

<K, V> 
对p1=新对(“hi”,1);
对p2=新对(“再见”,2);
实例比较(p1,p2);
如果这两对实例具有不同类型的成员,那么您将通过
compare
方法收到编译时错误,表示类型不匹配。

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