You are not modifying the original string.
What happens is that you create a new String object with the expression "n" + str, and you assign that new String object to the variable str. The old String object that str was referring to is discarded.
Class String is indeed immutable, which means that the content of a String object cannot be modified after it has been created. But ofcourse you can make variables of type String refer to a different String object.
And btw ,
String str = Your string.
tb ( just see your edit ) = your string has been changed.
PS : If you don't understand something , do not hesitate to ask me.