相关疑难解决方法(0)

Scala,使用通用特征扩展对象

我正在使用Scala,我想扩展一个具有特征的(单例)对象,它提供了一个数据结构和一些方法,如下所示:

trait Tray[T] {
  val tray = ListBuffer.empty[T]

  def add[T] (t: T) = tray += t
  def get[T]: List[T] = tray.toList
}
Run Code Online (Sandbox Code Playgroud)

然后我想将特征混合到一个对象中,如下所示:

object Test with Tray[Int]
Run Code Online (Sandbox Code Playgroud)

但是在add和中存在类型不匹配get:

Test.add(1)
// ...
Run Code Online (Sandbox Code Playgroud)

我怎么能让这个工作?或者我的错误是什么?

singleton scala traits extend type-mismatch

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

extend ×1

scala ×1

singleton ×1

traits ×1

type-mismatch ×1