發(fā)布于:2021-01-11 11:25:48
0
148
0
通過此最新的Java 8教程,使字符串操作成為您的朋友。Lukas Eder向我們展示了使用truncate方法如何幫助防止編輯器中的錯誤并使開發(fā)人員的工作更加輕松。
一些日志將 被機器消耗并永久保存。
其他日志僅用于調(diào)試和供人類使用。在后一種情況下,您通常要確保您不會產(chǎn)生過多的日志,尤其是不會產(chǎn)生太寬的日志,因為一旦行長超過一定大小,許多編輯器和其他工具就會出現(xiàn)問題(例如,此Eclipse bug)。
字符串操作曾經(jīng)是Java的主要麻煩,它具有許多繁瑣的編寫循環(huán)和分支等。Java8不再具有此功能!
下面的truncate方法將字符串中的所有行截斷為特定長度:
public String truncate(String string) { return truncate(string, 80); } public String truncate(String string, int length) { return Seq.of(string.split("n")) .map(s -> StringUtils.abbreviate(s, 400)) .join("n"); }
上面的示例使用jOOQ 0.9.4和Apache Commons Lang,但是您可以使用香草Java 8實現(xiàn)相同的效果:
public String truncate(String string) { return truncate(string, 80); } public String truncate(String string, int length) { return Stream.of(string.split("n")) .map(s -> s.substring(0, Math.min(s.length(), length))) .collect(Collectors.joining("n")); }
上面將日志截斷為長度10時,上面的程序?qū)a(chǎn)生:
輸入值
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
輸出量
Lorem ipsum dolor... incididunt ut lab... nostrud exercitat... Duis aute irure d... fugiat nulla pari... culpa qui officia...
祝您登錄愉快!