简体   繁体   English

如何重写Java的ArrayList的addAll(Collection <? extends E> c)Scala中的方法? 天真的方法不能编译

[英]How to override Java's ArrayList's addAll(Collection<? extends E> c) method in Scala? Naive approach does not compile

In MyList I try to override ArrayList 's addAll method (Fig. 2 ). MyList中,我尝试覆盖ArrayListaddAll方法(图2 )。 But it does not compile (Fig. 3 ). 但是它不能编译(图3 )。

How can this be fixed ? 如何解决?

Why is the type incompatible ? 为什么类型不兼容?

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

EDIT: 编辑:

Here is MyList as text: 这是MyList作为文本:

import java.util
import java.util.ArrayList

class MyList[T] extends ArrayList[T]{
  override def toString()="MyList"

  override def add(o:T)= {
    println ("adding "+o)
    super.add(o)
  }

  override def addAll(c: util.Collection[_ <: T])
  {
    println("addAll"+c)
    super.addAll(c)
  }

}

You forgot a = . 您忘记了= It should be: 它应该是:

override def addAll(c: util.Collection[_ <: T])= {
    println("addAll"+c)
    super.addAll(c)
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM