昆明java培训
达内昆明广州春城路

18487146383

热门课程

java基础的泛型方法

  • 时间:2016-11-18
  • 发布:昆明Java培训
  • 来源:达内新闻

昆明Java培训班的老师知道,泛型方法是指引入自身的参数类型的方法,就像泛型的类型参数一样,不过方法的类型参数的使用范围仅限于方法自身。可以定义静态和非静态的泛型方法,同时也可以定义使用泛型构造器。

泛型方法的语法含有位于方括号内的类型参数,位于方法返回类型之前,当然,非泛型的类也可以包含泛型方法。

如下举例说明泛型方法的声明:

public class Util {

//以下方法为泛型方法

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

}

}

public class Pair<K, V> {

private K key;

private V value;

public Pair(K key, V value) {

this.key = key;

this.value = value;

}

public void setKey(K key) { this.key = key; }

public void setValue(V value) { this.value = value; }

public K getKey()  { return key; }

public V getValue() { return value; }

}

完整的调用泛型方法的语法为:

//以下语句利用了上述定义的类

Pair<Integer, String> p1 = new Pair<>(1, "apple");

Pair<Integer, String> p2 = new Pair<>(2, "pear");

boolean same = Util.<Integer, String>compare(p1, p2);

当然,如果编译其能够推测出类型,可省略泛型方法的类型参数:

Pair<Integer, String> p1 = new Pair<>(1, "apple");

Pair<Integer, String> p2 = new Pair<>(2, "pear");

boolean same = Util.compare(p1, p2);

了解详情请登陆昆明达内Java培训官网(km.Java.tedu.cn)!

上一篇:java泛型:原始类型
下一篇:java限制类型参数范围

昆明Java培训班《Java分布式数据库的未来》

昆明java培训班:为什么java工程师薪资这么高?

昆明java培训班:你所不知道的java秘密

昆明java培训班;如何认识Java Web技术

选择城市和中心
贵州省

广西省

海南省

扫一扫

了解更多干货