我上课可以说

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
    

    10-08 03:03