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