You are right that the java compiler will do this job for you.
But this no reason for me why you shouldn't do it yourself.
Anyway.....
The compiler will instantiate a new StringBuffer everytime you use the "+".
You can see it when you run applications that are written in this manner
using "+" and watch the memory consumption.
This is explained in very details in "Java essentials" from sun. A book that
I can
recommend for every java developer.