作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我想用一个具体的实现 IntIntMap 来扩展 Scala 的 MapLike 特征。为此,我需要实现以下方法,
def get(key: A): Option[B]
def iterator: Iterator[(A, B)]
def + [B1 >: B](kv: (A, B1)): This
def -(key: A): This
This
类型是什么?如果我的重写方法签名是,
override def +=(kv: (Int, Int)): IntIntMap = {
// logic
}
或者只是 scala.reflect.This
?类定义呢?应该是吧,
class IntIntMap(...) extends MapLike[Int,Int,This] { ... }
还是完全不同的东西?
最佳答案
你应该扩展MapLike[Int, Int, IntIntMap]
,This
变成IntIntMap
。
关于Scala 的 "This"和 MapLike,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6952733/
假设我想用一个具体的实现 IntIntMap 来扩展 Scala 的 MapLike 特征。为此,我需要实现以下方法, def get(key: A): Option[B] def iterator:
我是一名优秀的程序员,十分优秀!