title: Java Explain: why String immutable make StringBuffer MORE efficient
body: <p>I have read in a Java book that says:</p>
  
  <blockquote>
    <p>Because a <code>String</code> is immutable, using <code>StringBuffer</code> is more efficient.</p>
  </blockquote>
  
  <p>I understand that <code>String</code> instances are immutable.</p>
  
  <p>I also understand that <code>StringBuffer</code> makes processing Strings more effcient than normal.</p>
  
  <p>But the thing I can't work out is what connects these two concepts, i.e. how does <code>String</code> being immutable help <code>StringBuffer</code>?</p>
  
  <p>Thanks :)</p>