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

How to use String.format() in scala

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

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

dd 元素声明为 Int 类型,这应该有效。

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

或者...

"%04d-%02d-%02d".format(dd:_*)