ネストマップの「きれいな印刷」機能では、構造に必要なスペースを追加するための簡単なインデント機能が必要です。 私はシンプルな1ライナーを望んでいました。私が見つけた最高のものは、2行の解決策でした。 理想的には、私はこれを望んでいた:可変スペースインデント用のワンライナー
Arrays.fillは「流暢」ではありませんので動作しませんString indentSpace = new String(Arrays.fill(new char[indent], 0, indent-1, ' '));
。 voidを返します。
その式の直訳は私の好みのためにあまりにも冗長です:
char[] chars = new char[indent];
Arrays.fill(chars , ' ');
String indentSpace = new String(chars);
は最後に、私は不足-光沢2ラインのソリューションのための定住:
private final String indentSpace=" ";
...
String alternative = indentSpace.substring(0,indent % indentSpace.length());
これはマイナーnit-ですピッキングが、より洗練されたソリューションがあるかどうかが不思議でした。私は最後の選択肢がパフォーマンス上の良い選択であるかもしれないことを憶えています。
どれでもかかります。
有用なものは助けるためにApacheのコモンズであります'StringUtils'クラスを参照してください – vickirk
これを行うための独自のユーティリティメソッドを書くことができるかもしれません – Premraj