泛型程序设计,程序设计都明白什么意思,那泛型呢?什么是泛型?

所谓泛型是指:额...好吧,说不清...举个例子吧:古代的宗教道教中有一句话,道生一,一生二,二生三,三生万物。这里的道即对应程序设计中的泛型,泛型很抽象,我也说不出所以然...(大家可以在文章下方留言讨论)

那么怎么定义泛型类呢?

语法如下:

  在看语法之前,需要先了解 类型变量的概念。所谓类型变量是指:可以代替任何类型的一个变量,在定义时,可以使用字符(一般大写,且一般用T及其附近的字符);实际,声明泛型类的变量时,需要使用具体的类名代替类型变量。

  class 类名<类型变量...>:类型变量可以有多个,每个类型变量之间用逗号","分开。

以下是 1个类型变量与多个类型变量的泛型类 程序示例:

/**
 * DateAndTime: 2016-12-14下午10:15:03
 */
package chapter12;

/**
 * 测试:1个类型变量 的 泛型类 的定义
 * @author Administrator
 *
 */
public class GenericTypeClass {
    
    public static void main(String[] args) {
        String[] words = {"Mary", "had", "a", "little", "lamb"};
        Pair<String> pair = ArrayArg.minmax(words);
        System.out.println("min: "+ pair.getFirst());
        System.out.println("max: "+ pair.getSecond());
    }

}

/**
 * A GenericType Class
 * @author Administrator
 *
 * @param <T>
 */
class Pair<T> {
    
    private T first;
    private T second;
    
    Pair() {
        this.first = null;
        this.second = null;
    }
    
    Pair(T first, T second) {
        this.first = first;
        this.second = second;
    }
    
    public T getFirst() {
        return first;
    }
    public void setFirst(T first) {
        this.first = first;
    }
    public T getSecond() {
        return second;
    }
    public void setSecond(T second) {
        this.second = second;
    }
    
}

class ArrayArg {
    
    public static Pair<String> minmax(String[] t) {
        if(null == t || t.length == 0) return null;
        String min = t[0];
        String max = t[0];
        for(String element : t) {
            if(element.compareTo(min) < 0) min = element;
            if(element.compareTo(max) > 0) max = element;
        }
        return new Pair<>(min, max);
    }
    
}
View Code

相关文章:

  • 2022-12-23
  • 2021-11-12
  • 2022-12-23
  • 2021-07-07
  • 2021-12-08
  • 2021-10-18
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-05
  • 2021-06-25
  • 2022-12-23
  • 2022-12-23
  • 2021-09-16
相关资源
相似解决方案