1

有没有办法隐式转换java.util.Iterable<T>为可以在匹配器中进行类型检查的东西foo.items should have size(10)?我尝试过导入scala.collection.JavaConversions,但仍然出现编译器错误。目前我明确地将其转换为scala.collection.JavaConverters.asScala. Scala 版本是 2.9。

4

1 回答 1

2

Iterable开箱即用不支持Java 。任何至少扩展java.util.Collection(即java.util.List)的东西都应该这样做。trait 中定义了一个隐式转换ShouldWrappers

implicit def convertToJavaCollectionShouldWrapper[T](o: Collection[T]): 
             JavaCollectionShouldWrapper[T]

要查看开箱即用支持哪些类型,请查看ScalaDocsShouldWrappers相应页面

你当然可以实现你自己的。

于 2013-04-26T13:02:05.553 回答