关于泛型方法

> 首先需要注意的是,泛型方法所在的类可以是泛型类也可以不是。

## 基本原则

  1. 如果使用泛型方法可以取代将整个类泛型化,那么就应该只使用泛型方法
  2. 对于static修饰的方法,无法访问泛型类的类型参数。所以static方法需要使用泛型能力,就必须使其成为泛型方法
public class LinkedStack<T>{
    /*
      ...
    */
    public static void push(T item){//无法使用T类型参数
        top = new Node<T>(item, top);
    }
}

 ## 定义泛型方法

> 要定义一个泛型方法,只需要将泛型参数列表置于返回值之前

public class GenericMethod{
    private <A, B> String getClassType(Integer x, A a, B b){
        return x.getClass().getName()+" "+a.getClass().getName()+" "+b.getClass().getName();
    }
    public static void main(String[] ss){
        System.out.println(new GenericMethod().getClassType(2,1.0,""));
    }
}

猜你喜欢

转载自blog.csdn.net/u014797306/article/details/84538551