我是Scala的新手,正在努力应对这种最愚蠢的事情.
我有一个List [String],我想解析列表并生成一个新的List [ServerAddress](ServerAddress是一个mongo的东西.我在概念上试图做的是将一个Type的List转换为另一个Type).我该怎么做呢?我当前的尝试无法填充我的列表[ServerAddress]
scala> val seeds: List[String] = List( "bobk-mbp.local", "bobk-mbp.local:27018" )
seeds: List[String] = List(bobk-mbp.local, bobk-mbp.local:27018)
scala> val serverAddrs = List[ServerAddress]()
serverAddrs: List[com.mongodb.casbah.Imports.ServerAddress] = List()
scala> for (seed <- seeds ) { new ServerAddress(seed) :: serverAddrs }
scala> serverAddrs
res12: List[com.mongodb.casbah.Imports.ServerAddress] = List()
Run Code Online (Sandbox Code Playgroud)
兄弟,你能不知道吗?
你可以这样做:
val serverAddrs = seeds.map((s) => new ServerAddress(s))
Run Code Online (Sandbox Code Playgroud)
编辑:这是一个更简洁的方式:
val serverAddrs = seeds.map(new ServerAddress(_))
Run Code Online (Sandbox Code Playgroud)