Do the project often use string and stringbuilder,string can be used "+" to the string concatenation, StringBuilder with append for stitching, never understand since you can use string, Ask what you want with StringBuilder. Although in the database query, the habitual use of the StringBuilder to the query statement stitching, but still do not know why. Today, watching the video, and saw the StringBuffer, feel the use of similar, so deliberately checked the difference between these things.
summed up as follows:
1. Comparison in the speed of implementation: StringBuilder > StringBuffer
2.StringBuffer and StringBuilder, they are string variables, and are variable objects that, whenever we manipulate strings, actually operate on an object, rather than creating objects to operate like string, so the speed is fast.
3.StringBuilder: Thread is not safe
StringBuffer: Thread-safe
When we are using a string buffer to be used by multiple threads, the JVM does not guarantee that the StringBuilder operation is safe, although he is the fastest, but can ensure that stringbuffer can be operated correctly. Of course, most of the time we are operating in a single thread, so in most cases it is recommended to use StringBuilder rather than stringbuffer, is the reason for speed.
Summary of three uses:
1. If you want to manipulate a small amount of data with String
2. Operation of a large amount of data under a single thread operation string buffer StringBuilder
3. Multi-threaded operation string buffer operation large amount of data stringbuffer