hive udf error: overloaded method value format with alternatives:
场景
spark开发udf的时候,有使用String.format函数,对数字进行格式化,结果运行报错
报错提示
error: overloaded method value format with alternatives:
(x$1: java.util.Locale,x$2: String,x$3: <repeated...>[Object])String <and>
(x$1: String,x$2: <repeated...>[Object])String
cannot be applied to (String, Int)
java.lang.String.format(s, 0) + strIn
解决思路
报错原因是直接使用了原始类型,即int这些原始类型,导致了问题报错。所以需要将数字转换为Integer类型。当然,如果不是使用int报错,而是使用了double,也是一样的,同样需要转换为Double类型
解决方案
String.format("%02d", Integer.valueOf(0))
浙公网安备 33010602011771号