【发布时间】:2016-05-10 22:59:26
【问题描述】:
不知道为什么下面的代码不能编译,这是错误信息:
错误:(29, 7) 方法 flatMap 没有类型参数: (f: String => Option[B])Option[B] 存在,因此它可以应用于参数 (String => Some[Class[? 0]] forSome { type ?0 <: org.apache.hadoop.io.compress.compressioncodec> --- 因为 ---
参数表达式的类型与形参类型不兼容; 发现:String => Some[Class[?0]] forSome { type ?0 <: org.apache.hadoop.io.compress.compressioncodec> 必需:字符串 => 选项[?B]
a.flatMap(codecClassName => {
^
和代码
def f(a: Option[String]): Unit = {
a.flatMap(codecClassName => {
val codecFactory = new CompressionCodecFactory(new Configuration())
val codecClass = codecFactory.getCodecClassByName(codecClassName)
if (codecClass == null) {
throw new RuntimeException("Unknown or not supported codec:" + codecClassName)
}
Some(codecClass)
})
}
【问题讨论】:
标签: scala