scala map,flatmap,filter的用法
例子: object test extends App { val fruits = Seq( "apple" , "banana" , "orange" ) println(fruits.map(_.toUpperCase)) println(fruits.flatMap(_.toUpperCase)) } 输出: List (APPLE, BANANA, ORANGE) List (A, P, P, L, E , B, A, N , A, N , A, O , R, A, N , G, E ) 例子: object test extends App { def toInt(s: String): Option[Int] = { try { Some(Integer.parseInt(s.trim)) } catch { // catch Exception to catch null 's' case e: Exception => None } } val strings = Seq( "1" , "2" , "foo" , "3" , "bar" ) println(strings.map(toInt)) println(strings.flatMap(toInt)) } 输出: List( Some( 1 ) , Some( 2 ) , None, Some( 3 ) ,