作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个方法:
scala> def foo(traversable: Traversable[{def toByte: Byte}]) = {
| traversable.map(_.toByte)
| }
foo: (traversable: Traversable[AnyRef{def toByte: Byte}])Traversable[Byte]
scala> foo(List(1,2,3))
java.lang.NoSuchMethodException
at scala.runtime.BoxesRunTime.toByte(Unknown Source)
at $anonfun$foo$1.apply(<console>:8)
at $anonfun$foo$1.apply(<console>:8)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:45)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:194)
at scala.collection.immutable.List.map(List.scala:45)
at .foo(<console>:8)
scala> 1.toByte
res1: Byte = 1
最佳答案
Int
is sybtype of AnyVal
,因此您需要明确声明它。
def foo(xs: Traversable[AnyVal { def toByte: Byte }]) = xs.map(_.toByte)
关于scala - 可遍历的结构类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9866468/
我是一名优秀的程序员,十分优秀!