我上课可以说
Class Rectange{
int height;
int side;
}
我可以在什么情况下使此类成为通用类?如何确定我们要编写泛型类?
一个实际的例子可能会很好。
更新
最佳答案
实际示例:我需要一个简单的处理器,该处理器将采用许多值并根据自然顺序返回最高,最低和中位数。我不知道它将操作哪种类型的对象(或者我可以,但是不想将其限制为仅使用一种特定类型),并且我不希望它接受Object
以避免转换。因此,我使此类及其所有方法通用:
public class MySimpleProcessor<T extends Comparable<T>> {
public void putValue(T value) { /*...*/ }
public T getHighest() { /*...*/ }
public T getLowest() { /*...*/ }
public T getMedian() { /*...*/ }
}
现在,
MySimpleProcessor
可以对任何可比较的对象进行操作:MySimpleProcessor<String> stringProcessor; // will accept and return strings
MySimpleProcessor<Integer> intProcessor; // will accept and return integers
MySimpleProcessor<AnotherComparable> anotherProcessor; // will operate on some other type