【问题标题】:How to use String.format() in scala如何在 Scala 中使用 String.format()
【发布时间】:2020-05-20 16:23:12
【问题描述】:

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

Error:(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))

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

【问题讨论】:

标签: scala date string.format


【解决方案1】:

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

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

或者……

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

【讨论】:

  • 使用解决方案 1,我遇到了错误。错误:(54, 20) 使用替代方法重载方法值格式:(x$1: java.util.Locale,x$2: String,x$3: Object*)String (x$1: String,x$2: Object* )String 不能应用于 (String, Int) println(String.format("%04d-%02d-%02d",dd:_*)) 但第二种解决方案对我有用。非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-20
  • 1970-01-01
  • 1970-01-01
  • 2011-06-28
  • 2012-10-16
相关资源
最近更新 更多