java如何格式化具有可变参数数的字符串
假设我有一个方法,它返回一个包含随机数的列表——我们将调用该方法List<Integer> getRandomNumberOfRandomNumbers();
System.out.println(String.format("Here are the random numbers: %s", getRandomNumberOfRandomNumbers()));
我知道这不管用,但我怎样才能达到这个效果呢
示例输出
Here are the random numbers:
1 4 2 4
Here are the random numbers:
2 43 323 434 3423 54
# 1 楼答案
例如,如果我们有一个
List
的Integers
,如下所示:然后,要以所需的方式打印
List
,可以按照以下步骤操作:这将产生:
这里
var
是list
你的函数getRandomNumberOfRandomNumbers()
正在返回,我们正在使用var.toString()
将其转换为字符串,但它返回[1, 4, 2, 4]
。所以,我们需要删除[
、]
和,
。我使用正则表达式将它们替换为空字符。这实际上是一种简单易行的方法,但不确定这是否是一种有效的方法!!每当我需要将Colletion
转换为String
时,我使用toString()
方法,然后使用正则表达式执行一些技巧,以获得所需的表示形式更新:在网上冲浪后,我发现几乎没有其他选择。(首选而不是我之前使用
List.toString()
的答案)例如,在您的情况下,您可以:
您可以通过以下两种选择来实现同样的效果
# 2 楼答案
让getRandomNumberOfRandomNumbers返回单个字符串中的所有数字是最简单的。或者你可以在线完成,比如:
# 3 楼答案
另一种解决方案是迭代列表,并在打印出来之前将值添加到字符串生成器中
就像这样: