【发布时间】:2018-06-13 20:32:51
【问题描述】:
def stringToIntMethod(input:String):Option[Int] = {
try{
Some(Integer.parseInt(input.trim()))
}
catch{
case e:Exception => None
}
}
val stringToIntFunction: (String) => Option[Int] = (in:String) => {
try{
Some(Integer.parseInt(in.trim()))
}
catch{
case e:Exception => None
}
}
val stringAndIntArray = Array("Hello", "1","2","Hi") //Input
println("with Method is: " + stringAndIntArray.flatMap(stringToIntMethod))
println("with functon is: " + stringAndIntArray.flatMap(stringToIntFunction))
在 flatMap 中使用 stringToIntFunction 时出现类型不匹配错误
type mismatch;
found : String => Option[Int]
required: String => scala.collection.GenTraversableOnce[?]
println("with functon is: " + stringAndIntArray.flatMap(stringToIntFunction))
^
为什么会这样?
【问题讨论】:
标签: scala