[英]When to use String#concat() method in Java?
我已經了解了有關字符串連接性能的不同主題。 幾乎答案建議使用StringBuilder
或StringBuffer
來減少開銷成本(如果連接語句在循環外,則為+
運算符)。 很清楚,但我仍然想知道為什么 Java 有 String format()
和concat()
方法,盡管它無效。 性能測試在這里:鏈接。 有人提到 String format()
可能對Localization
目的有用(我不太明白,但是我已經有一個關鍵字可以稍后搜索),但剩下的一個目的是什么? 它僅對向后兼容有用嗎?
String#concat
和+
存在是為了在類型 String 上提供一組簡約的操作。
如果多次使用,它們效率不高。
但是他們有自己的權利,因為您不想使用 StringBuilder 指定類型操作"xxx" + "yyy"
。 (此外,它是一個編譯時串聯。)
StringBuffer
是一個錯誤恕我直言。 較新的StringBuilder
較慢,因為它是同步的,但很少會在兩個線程(無序)中添加一些東西。
String::concat
可能是對流減少等有用的方法引用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.