Java Tutorial/Generics/Generic Interfaces — различия между версиями
Admin (обсуждение | вклад)  м (1 версия)  | 
				|
(нет различий) 
 | |
Текущая версия на 05:20, 1 июня 2010
Generic Interfaces
interface MinMax<T extends Comparable<T>> {
  T min();
  T max();
}
class MyClass<T extends Comparable<T>> implements MinMax<T> {
  T[] vals;
  MyClass(T[] o) {
    vals = o;
  }
  public T min() {
    T v = vals[0];
    for (int i = 1; i < vals.length; i++)
      if (vals[i].rupareTo(v) < 0)
        v = vals[i];
    return v;
  }
  public T max() {
    T v = vals[0];
    for (int i = 1; i < vals.length; i++)
      if (vals[i].rupareTo(v) > 0)
        v = vals[i];
    return v;
  }
}
public class MainClass {
  public static void main(String args[]) {
    Integer inums[] = { 3, 6, 2, 8, 6 };
    Character chs[] = { "A", "r", "V", "w" };
    MyClass<Integer> iob = new MyClass<Integer>(inums);
    MyClass<Character> cob = new MyClass<Character>(chs);
    System.out.println("Max value in inums: " + iob.max());
    System.out.println("Min value in inums: " + iob.min());
    System.out.println("Max value in chs: " + cob.max());
    System.out.println("Min value in chs: " + cob.min());
  }
}
   
   
Max value in inums: 8 Min value in inums: 2 Max value in chs: w Min value in chs: A
The generalized syntax for a generic interface
- type-param-list is a comma-separated list of type parameters.
 - When a generic interface is implemented, you must specify the type arguments
 
   
   
interface interface-name<type-param-list> { // ...