Я хочу записать значение Scala (Array [String]) в java .util.map, но ошибка выглядит следующим образом
код
val tagsMap = new java.util.HashMap[String, String]()
val fieldsMap = new java.util.HashMap[String, Object]()
// val fieldsMap = new mutable.HashMap[String,Object]()
for (i <- value.indices) {
fieldstuple(i)._2 match {
case "int" => fieldsMap.put(fieldsArr(i), Integer.valueOf(value(i)))
case "varchar" => fieldsMap.put(fieldsArr(i), value(i))
case "float" => fieldsMap.put(fieldsArr(i),lang.Float.parseFloat(value(i)) )
case "double" => fieldsMap.put(fieldsArr(i), lang.Double.parseDouble(value(i)))
case "boolean" => fieldsMap.put(fieldsArr(i), lang.Boolean.parseBoolean(value(i)))
case "datetime" => fieldsMap.put(fieldsArr(i), value(i))
case _ => fieldsMap.put(fieldsArr(i), value(i))
}
}
Я не могу найти причину этой ошибки
Ошибка
Error:(151, 81) the result type of an implicit conversion must be more specific than AnyRef
case "float" => fieldsMap.put(fieldsArr(i),lang.Float.parseFloat(value(i)) )
Error:(152, 85) the result type of an implicit conversion must be more specific than AnyRef
case "double" => fieldsMap.put(fieldsArr(i), lang.Double.parseDouble(value(i)))
Error:(153, 88) the result type of an implicit conversion must be more specific than AnyRef
case "boolean" => fieldsMap.put(fieldsArr(i), lang.Boolean.parseBoolean(value(i)))
Error:(151, 81) type mismatch;
found : Float
required: Object
case "float" => fieldsMap.put(fieldsArr(i),lang.Float.parseFloat(value(i)) )
Error:(152, 85) type mismatch;
found : Double
required: Object
case "double" => fieldsMap.put(fieldsArr(i), lang.Double.parseDouble(value(i)))
Error:(153, 88) type mismatch;
found : Boolean
required: Object
case "boolean" => fieldsMap.put(fieldsArr(i), lang.Boolean.parseBoolean(value(i)))