java中自定义泛型类和调用
1 自定义泛型类 2 package t1.no4; 3 4 public class Pair1 <T>{ 5 public Pair1(T max, T min) { 6 this.max = max; 7 this.min = min; 8 } 9 private T max; 10 private T min; 11 public T getMax() { 12 return max; 13 } 14 public void setMax(T max) { 15 this.max = max; 16 } 17 public T getMin() { 18 return min; 19 } 20 public void setMin(T min) { 21 this.min = min; 22 } 23 @Override 24 public String toString() { 25 return "Pair1(min="+min+"max="+max+")"; 26 } 27 } 28 调用自定义泛型类 29 package t1.no4; 30 31 import org.junit.Test; 32 33 public class Demo { 34 /*public static void main(String[] args) { 35 Pair ss= minmax(new int[]{1,33,44,66,88}); 36 System.out.println(ss.getMax()+","+ss.getMin()); 37 } 38 public static Pair minmax(int[] nums) { 39 int nmax=nums[0]; 40 int nmin=nums[0]; 41 for(int i=0;i<nums.length;i++){ 42 if(nmax>nums[i]){nmax=nums[i];} 43 if(nmin<nums[i]){nmin=nums[i];} 44 } 45 return new Pair(nmax, nmin); 46 }*/ 47 @Test 48 public void demo(){ 49 Integer[]nums=new Integer[]{22,11,44,66,99}; 50 Pair1<Integer> rult=Demo.minmax(nums); 51 System.out.println("最大值: "+rult.getMax()+"最小值:"+rult.getMin()); 52 } 53 public static <T extends Comparable>Pair1<T> minmax(T[] nums){ 54 T nmax=nums[0]; 55 T nmin=nums[0]; 56 for(int i=0;i<nums.length;i++){ 57 if(nmax.compareTo(nums[i])<0){ 58 nmax=nums[i]; 59 } 60 if(nmin.compareTo(nums[i])>0){ 61 nmin=nums[i]; 62 } 63 } 64 return new Pair1(nmax,nmin); 65 } 66 } 67 自定义泛型类的好处就是,类型没有定死,是获得,调用的时候,需要什么类型就传什么类型,大大的减少了代码的冗余加大了灵活性