如何在 Scala 中使用 String.format()

Ruk*_*ari 1 string.format scala date

我是 Scala 世界的新手,我想使用 String.format() 创建日期格式字符串。我有三个整数值年月日,我想在 yyyy-mm-dd 中更改它。String.format() 需要一个 Anyref 数组,当我通过将整数值传递给它来创建 Array[Anyref] 时,它会抛出以下错误。

错误:(49, 30) 隐式转换的结果类型必须比 AnyRef dd(2) = inputCalendar.get(5) 更具体

我的完整示例是:

val dd = new Array[AnyRef](3);
dd(0) = Integer.valueOf(inputCalendar.get(1))
dd(1) = Integer.valueOf(inputCalendar.get(2) + 1)
dd(2) = inputCalendar.get(5)
println(String.format("%04d-%02d-%02d",dd))
Run Code Online (Sandbox Code Playgroud)

注意:我不想为此使用任何 Date API。

jwv*_*wvh 5

dd元素声明为类型Int,这应该可以工作。

val dd = new Array[Int](3)
. . . //unchanged
String.format("%04d-%02d-%02d",dd:_*)
Run Code Online (Sandbox Code Playgroud)

或者 ...

"%04d-%02d-%02d".format(dd:_*)
Run Code Online (Sandbox Code Playgroud)