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 自定义泛型类的好处就是,类型没有定死,是获得,调用的时候,需要什么类型就传什么类型,大大的减少了代码的冗余加大了灵活性

 

posted @ 2013-05-27 13:55  宁静思远  阅读(344)  评论(0编辑  收藏  举报