java 泛型方法

 

  • ​​​​​​​泛型方法​​​​​​​​​​​​​​

        ​​​​​​​如果泛型方法可以取代整个类泛型化,那么就应该只使用泛型方法。

       对于一个static的方法而言,无法访问泛型类的类型参数,所以如果static方法需要使用泛型能力,必须使其成为泛型方法。

       定义泛型方法:

       只需要将泛型参数列表置于返回值之前

public<T> void f(T x){

 System.out.println(x.getClass().getName());

}



class Show<T> {
public void print1(T t) { System.out.println(t); }
public <T> void print2(T t) { System.out.println(t); }
}
public class A {
public static void main(String[] args) {
Show<String> show = new Show<String>();
show.print1(new Integer(1));// 不能编译,因为对象级别的泛性是String
show.print2(new Integer(1));// 可以编译,因为方法自己定义了泛型,覆盖了对象的泛型,同时保证了后面的参数可以出现这种类型

 

<T> 与Class<T>
<T>是具体的一个对象。Class<T>是一个类
类似:T指圆  Class<T>指多边形
//定义一个泛型方法,类型化参数,tClass 某一类
private <T> void setSpan(FontStyle fontStyle,boolean isSet,Class<T> tClass)

以上说明来着网络,与书籍。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章