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得到了这个。请帮我理解。
答案 0 :(得分:2)
分开这个。 <K, V>
是方法参数。 static
是一个使方法“静态”的修饰符,即您可以在不创建对象的情况下调用它。
请阅读有关java,方法,类,静态方法等的内容。
答案 1 :(得分:2)
静态方法本身被调用,不引用Util
类的任何实例。由于只有Util
的实例绑定了类的类型参数,因此compare
中使用的类型参数保持未绑定状态。因此,必须调用类型推断的机制来解决每个调用站点的机制。这就是方法返回类型前面的<K, V>
语法所代表的内容。
请注意,实例方法也可以使用未绑定的类型参数,因此static
不是您问题的本质。只是大多数依赖类型推断的方法都是静态的。
答案 2 :(得分:1)
可以在类上调用静态方法,而无需实例化对象
从here
被盗通常,如果不先创建该类的实例,则无法调用类的方法。通过使用static关键字声明一个方法,您可以在不首先创建对象的情况下调用它,因为它成为一个类方法(即属于类而不是对象的方法)。
答案 3 :(得分:1)
static
关键字与Util<K,V>
无关,它只是使方法成为类方法,因此您无需创建类的实例即可调用方法