1、一个简单的泛型案例
package test; public class PairTest2 { 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{ 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 = 0; 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); } } 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;} } class Pair1<HS> { private HS first; private HS second; public Pair1(){first = null; second = null;} public Pair1(HS first, HS second){this.first = first; this.second = second;} public HS getFirst(){return first;} public HS getSecond(){return second;} public void setFirst(HS newValue){first = newValue;} public void setSecond(HS newValue){second = newValue;} }
说明:使用<T>来声明一个类型持有者名称,然后就可以把T当作一个类型代表来声明成员、参数和返回值类型。