StringBuffer is mutable and more efficient for multiple concatenations in loops because it modifies a single buffer. String is immutable - each concatenation creates a new object. For repeated concatenation, StringBuffer (or StringBuilder in newer Java) is preferred. The claimed answer B is correct.