我需要打印一个包含scala.Long的格式化字符串.java.lang.String.format()与scala.Long(编译时)和RichLong(java.util.IllegalFormatConversionException)不兼容
编译器警告在以下工作代码上弃用Integer:
val number:Long = 3243
String.format("%d", new java.lang.Long(number))
Run Code Online (Sandbox Code Playgroud)
我应该改变fomatter,数据类型还是其他什么?
Bru*_*eis 40
您可以尝试以下方式:
val number: Long = 3243
"%d".format(number)
Run Code Online (Sandbox Code Playgroud)
Kev*_*ght 20
Scala中的格式方法直接存在于String 实例中,因此您不需要/想要静态类方法.您也不需要手动打包long
原语,让编译器为您处理所有这些!
String.format("%d", new java.lang.Integer(number))
Run Code Online (Sandbox Code Playgroud)
因此写得更好
"%d".format(number)
Run Code Online (Sandbox Code Playgroud)
@ Bruno的答案就是你在大多数情况下应该使用的答案.
如果必须使用Java方法进行格式化,请使用
String.format("%d",number.asInstanceOf[AnyRef])
Run Code Online (Sandbox Code Playgroud)
这将Long
很好地为Java打包.
归档时间: |
|
查看次数: |
15920 次 |
最近记录: |