I would like to know string vs string builder. When to use each one. How they are different and similar. How they differ in terms of immutability. I am still not very clear on creating, assigning , reassigning the instance variables of them and how they point to same or different objects etc.