使用带有原始返回类型的泛型方法

时间:2014-08-05 10:33:46

标签: java generics

public class Util<K,V> {
    public static <K, V> boolean compare(Pair<K, V> p1, Pair<K, V> p2) {
    }
}

我知道为什么我们使用Util<K,V>static <K,V>的用途是什么?。我从link得到了这个。请帮我理解。

4 个答案:

答案 0 :(得分:2)

分开这个。 <K, V>是方法参数。 static是一个使方法“静态”的修饰符,即您可以在不创建对象的情况下调用它。

请阅读有关java,方法,类,静态方法等的内容。

答案 1 :(得分:2)

静态方法本身被调用,不引用Util类的任何实例。由于只有Util实例绑定了类的类型参数,因此compare中使用的类型参数保持未绑定状态。因此,必须调用类型推断的机制来解决每个调用站点的机制。这就是方法返回类型前面的<K, V>语法所代表的内容。

请注意,实例方法也可以使用未绑定的类型参数,因此static不是您问题的本质。只是大多数依赖类型推断的方法都是静态的。

答案 2 :(得分:1)

可以在类上调用静态方法,而无需实例化对象

here

被盗

通常,如果不先创建该类的实例,则无法调用类的方法。通过使用static关键字声明一个方法,您可以在不首先创建对象的情况下调用它,因为它成为一个类方法(即属于类而不是对象的方法)。

答案 3 :(得分:1)

static关键字与Util<K,V>无关,它只是使方法成为类方法,因此您无需创建类的实例即可调用方法