java - JAVA,用String.format对同一个变量进行n次插值
问题描述
我想使用 String.format 方法插入相同的变量 n 次。
例如与
String value = "hi";
String interpolated = String.format(" %s %s %s %s ", value);
我预计
System.out.println(interpolated)
// " hi hi hi hi "
解决方案
你可以这样做(虽然在发生方面被编码):
String value = "hi";
String interpolated = String.format(" %s %s %s %s ", IntStream.range(0, 4)
.mapToObj(i -> value)
.toArray());
您可以通过这种方式对其进行可变化:
public String repeat(String string, int nbRepeat){
return String.format(" " + IntStream.range(0, nbRepeat)
.mapToObj(i -> "%s")
.collect(Collectors.joining(" ")),
IntStream.range(0, nbRepeat)
.mapToObj(
i -> string)
.toArray());
}
并使用它:
repeat("hi", 4);
repeat("ho", 6);
推荐阅读
- arduino - 带有 SIM 900a 的 Arduino - 如何将所有传入消息存储到文本文件中?
- elasticsearch - Elasticsearch 更改主分片数
- azure - azurerm_linux_virtual_machine 中的云初始化脚本中的错误处理
- verilog - Verilog 4位比较器结构模型
- sql - 使用外键将 XML 数据插入 SQL 表
- ios - 当通知中的数据更改时,SwiftUI 列表数据无法更新
- python - 遇到异常功能/输入验证问题
- reactjs - 如何在 rowinfo 反应表中再调用一个函数?
- flutter - MaterialPageRoute 与上下文有什么关系?
- elasticsearch - 当字段不是数组时,Integer.text 在 Kibana -7.9.2 中不再适用于查询字符串查询