<! - ?在Java ArrayList中扩展MyClass - >

时间:2015-07-24 02:41:13

标签: java generics arraylist

我已声明:

private ArrayList<? extends Transaction> transactionArray;

我想将Transaction的子类添加到transactionArray中,如下所示:

public void pushTransaction( Transaction theTrans ) {
    transactionArray.add( theTrans ); 
}

但是这被消息

拒绝了
  

方法......不适用于参数......

我是否必须为每个Transaction子类编写一个单独的pushTransaction方法?或者我如何使此方法接受Transaction及其子类作为有效参数? 更新:我将Transaction声明为抽象类,并且只处理其子类,这有什么不同吗?

1 个答案:

答案 0 :(得分:-1)

您不需要使用泛型语法。 。当您传递Transaction对象或Transaction的子类时,您的方法应该像ling一样工作。确保您的类实际扩展了Transaction。此外,可能有多个名为Transaction的类,因此请检查包。