字幕列表 影片播放 列印英文字幕 Here's a summary of what we just learned. A string is immutable, which means it can't change once it's been created. You have to create a brand new string object if you want a slightly different string. On the other hand, a StringBuilder is also a sequence of characters, but it is mutable. So it can change after you've created it. Now, there are pros and cons of when to use each one. But if you're trying to build up a longer text string gradually over several steps, then StringBuilder is a much more efficient data type, because it is mutable. Otherwise, if you had to create a new string object at each intermediate step, you'd be wasting memory on the device. And those additional memory allocations would need to be cleaned up once those string objects were no longer used. It's much cleaner to have a single StringBuilder object and then modify it as needed. Okay, so let's look at the code for how to use the StringBuilder class. We can declare and instantiate a new StringBuilder as usual, and then proceed to put the word, world spelled W-O-R-L-D into the builder using the append method. Now, the StringBuilder is currently holding the sequence of characters that spells world. Actually, let's make that say word instead of world by removing the L character at position three. When we do this the builder now contains the characters W-O-R and D, or word. Then the code appends more characters on the StringBuilder. First, we add space builder and then finally a period. Note that the append method returns a builder object, so what's neat is that we can actually have multiple calls to append on a single line. This sequence of multiple meta calls on a single line is known as method chaining in programmer speak. So as you can see, the second time we call append, we can add a period. When we're done building we can get a frozen immutable string by simply calling the two string method. So as we finish we can see that the String variable built now contains the contents word builder.