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))

posted on 2022-11-29 18:40  枫夜求索阁  阅读(138)  评论(0)    收藏  举报

导航