其他语言,如Python、JavaScript和C#都有简单的字符串格式。Java有自己的版本吗?我在谷歌上搜索了一下,什么也找不到,但我希望不是这样。
对于那些不理解这个问题的人,这里有一个其他语言的例子。
蟒蛇:
f'Hello {name}!
JavaScript:
`Hello ${name}!`
C#:
$"Hello {name}!"
你可以用
String s = "Something";
System.out.printf("My name is: %s", s);
用于控制台输出。或者您可以使用String.format
使用String.format
该语法与其他语言稍有不同,因为它是基于位置的,而不是基于var的。如果需要基于var的插值器,最接近的方法是StringBuilder。
另请参见字符串变量插值Java
您要寻找的是字符串文字中变量或表达式的插值(检测并用其值替换)。Java没有这样的特性。在Java中,您必须恢复到:
StringBuilder.append()
PrintStream.printf()
,PrintWriter.printf()
,String.format()
问题内容: 这个问题已经在这里有了答案 : Swift中的精确字符串格式说明符 (30个答案) 5年前关闭。 我似乎无法找到一种格式化Double的方法,从而在标签中显示精度时将精度限制为小数点后的几个位置。也许我缺少一些重要的东西,但是我在官方文档中找不到任何东西。 在此先感谢您的帮助! 问题答案: 没有办法使用插值来做到这一点。 您可以在此Apple Dev论坛帖子中找到有关此问题的精彩讨论。
我想比较WebElements的日期,以验证排序是否正确。然而,日期的值如下:“2021年4月5日12:30pm”、“2018年10月22日09:18am”、“2015年2月1日11:36pm”,
我似乎找不到一种方法来设置双重格式,将精度限制在小数点后的几个位置,当在标签中显示时。也许我遗漏了一些重要的东西,但我在官方文件中找不到任何东西。 提前感谢您的帮助!
问题内容: 我正在尝试将屏幕截图输出作为base64编码的字符串输出,但距离不是很远。到目前为止,我拥有的代码使用Base64库(http://iharder.sourceforge.net/current/java/base64/): 每次运行此命令时,“结果”始终为空字符串,但我不明白为什么。有任何想法吗? 注意:我不想将png写入磁盘上的文件。 问题答案: 我遵循xehpuk的回答,但是某些
问题内容: 我的问题是格式化通过扫描仪输入的字符串。我试图输入“ Result is”,但printf()似乎只看到字符串的“ Result”部分,那么空白命令是什么?谢谢 问题答案: 有几种可能的解决方案,但我相信以下内容将为您提供与其他输入一致的行为: 如果需要,这种方法将允许您在一行上输入所有输入。 例如: 1 1.2结果是 但是,如果您确实希望用户在每次输入后都按一下,则使用Scanner
问题内容: 我想知道是否有可能在Java中使用String.format方法给出一个在零之前的整数? 例如: 1将变为001 2将变为002 … 11将变为011 12将变为012 … 526将保留为526 … 目前,我尝试了以下代码: 不幸的是,它在数字之前带有3个空格。可以在数字前加零吗? 问题答案: 使用格式说明为整数。的装置,该数目将是零填充,如果它是少于三个(在这种情况下)位。 有关其他