如何使用Java 8流重写此操作?我还没有真正熟悉Java 8的功能。使用Java 8 Streams为ArrayList重写StringJoiner <Double>输入
private final ArrayList<Double> ledger = new ArrayList<>();
/**
*
* @return the ledger as a String (e.g. "1.20|2.50|1.90")
*/
public String getLedgerString() {
StringJoiner sj = new StringJoiner("|","[","]");
for (double d : ledger)
sj.add(String.format("%.2f", d));
return sj.toString();
}
很好,谢谢 - 让我的代码看起来肯定干净。感谢您解释它。 – ycomp
我不确定使用'Collectors.joining'比'for'循环更有效(也许如果有很多元素的话),但它绝对更干净。 – Tunaki
您可以使用的另一个调整是使用“.map(新的DecimalFormat(”0.00“):: format)”,这可能比每次调用静态格式方法便宜一点。 TIOLI。 –