Strings 初級

テキストをインデントし、文字列変換を流れるようにチェーンする。

✕ Java 8
String[] lines = text.split("\n");
StringBuilder sb = new StringBuilder();
for (String line : lines) {
    sb.append("    ").append(line)
      .append("\n");
}
String indented = sb.toString();
✓ Java 12+
String indented = text.indent(4);

String result = text
    .transform(String::strip)
    .transform(s -> s.replace(" ", "-"));
このコードに問題がありますか? お知らせください。
📏

組み込み

インデントは一般的な操作で、1回の呼び出しで完結します。

🔗

チェーン可能

transform()で文字列のフルエントなパイプラインが組めます。

🧹

クリーンなコード

行の分割やStringBuilderのループが不要になります。

旧来のアプローチ
手動インデント
モダンなアプローチ
indent() / transform()
JDKバージョン
12
難易度
初級
String.indent()とtransform()
利用可能

JDK 12(2019年3月)以降、広く利用可能

indent(n)は各行の先頭にnスペースを追加します。transform(fn)は任意の関数を適用して結果を返し、文字列操作のフルエントなチェーンを可能にします。

共有 𝕏 🦋 in