我的应用程序有几个隐式上下文.
喜欢
喜欢
import scala.collection.JavaConversions._ import HadoopConversion._ etc
解决方法
默认情况下,某些库提供的一种很好的技术是将含义捆绑到特征中.这样,您可以通过定义扩展其他隐式捆绑特征的特征来组合implicits集.然后,您可以使用以下内容在scala文件的顶部使用它.
import MyBundleOfImplicits._
或者通过将其混合在您需要的地方来提高选择性.
object Main extends App with MyBundleOfImplicits { // ... }
不幸的是,使用像JavaConversions这样的方法,要使用此方法,您需要重新定义要在特征中使用的所有隐含.
trait JavaConversionsImplicits { import java.{lang => jl} import java.{util => ju} import scala.collection.JavaConversions implicit def asJavaIterable[A](i : Iterable[A]): jl.Iterable[A] = JavaConversions.asJavaIterable(i) implicit def asJavaIterator[A](i : Iterator[A]): ju.Iterator[A] = JavaConversions.asJavaIterator(i) } trait MyBundleOfImplicits extends JavaConversionsImplicits with OtherImplicits
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。