2013-04-26 39 views
1

有沒有辦法將java.util.Iterable<T>隱式轉換爲類似foo.items should have size(10)這樣的匹配器中的類型?我試過導入scala.collection.JavaConversions,但仍然收到編譯器錯誤。目前我明確地將它轉換爲scala.collection.JavaConverters.asScala。斯卡拉版本是2.9。ScalaTest和java.util.Iterable

回答

2

Java的Iterable不支持開箱即用。任何延伸至少java.util.Collection(即java.util.List)的東西都應該這樣做。有一個在特質ShouldWrappers定義的隱式轉換:

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

要查看哪些類型的支持開箱即用ShouldWrappers看看在corresponding page of the ScalaDocs

你當然可以實現你自己的。