在嵌套地圖的「漂亮打印」函數中,我需要一個簡單的縮進函數來將所需的空間預先添加到我的結構中。 我想要一個簡單的單線程,我發現最好的是一個2線解決方案。 理想情況下,我想這一點:單線程可變空間縮進
String indentSpace = new String(Arrays.fill(new char[indent], 0, indent-1, ' '));
這不起作用,因爲Arrays.fill不是「通順」;它返回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