class Bar<T> {
T first;
T second;
public Bar(T first, T second) {
super();
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 Foo {
public <T> T getMiddle(T[] a) {
return a[a.length/2];
}
public <T extends Comparable<T>> T getMin(T[] a) {
if(a == null || a.length == 0) return null;
T min = a[0];
for(int i = 1; i < a.length; i++) {
min = (a[i].compareTo(min) > 0) ? (min) :(a[i]);
}
return min;
}
}
泛型的使用class Bar<T> { T first; T second; public Bar(T first, T second) { super(); this.first = first; this.second = second; } public T getFirst() { return first; } public void setFirst(T first) { this.first = first; } public T get