8.2 定义一个简单的泛型类

来源:互联网 发布:mysql服务安装失败 编辑:程序博客网 时间:2024/05/21 18:35
public class Pair<T>{    private T first;    private T second;    public Pair() { first = null; second = null; }    public Pair(T first, T second) { this.first = first; this.second = second; }    public T getFirst() { return first; }    public T getSecond() { return second; }    public void setFirst(T newValue) { first = newValue; }    public void setSecond(T newValue) { second = newValue; }}

在利用泛型的时候,直接在声明变量的时候把T替换成你想用的类名,然后这个泛型类内部的T都是你指定的那个类了。

public class PairTest1{   public static void main(String[] args)   {      String[] words = { "Mary", "had", "a", "little", "lamb" };      Pair<String> mm = ArrayAlg.minmax(words);      System.out.println("min = " + mm.getFirst());      System.out.println("max = " + mm.getSecond());   }}class ArrayAlg{   /**    * Gets the minimum and maximum of an array of strings.    * @param a an array of strings    * @return a pair with the min and max value, or null if a is null or empty    */   public static Pair<String> minmax(String[] a)   {      if (a == null || a.length == 0) return null;      String min = a[0];      String max = a[0];      for (int i = 1; i < a.length; i++)      {         if (min.compareTo(a[i]) > 0) min = a[i];         if (max.compareTo(a[i]) < 0) max = a[i];      }      return new Pair<>(min, max);   }}
0 0
原创粉丝点击