The Codeless Code: Case 15 Immutable ====== A novice was recently arrived from the Temple of Three Stones where only C was used. He was new to the ways of Java, and soon stumbled upon the immutability of Strings. “I wish only to convert the contents of this field to mixed case!” he cried. “Yet this requires the construction of a StringBuffer and a new String subsequently, with many untouched characters copied twice between them! For what purpose were Strings designed thus?” A learned sister heard, and advised him: “The brass coin passed from hand to hand may still be exchanged on the morrow; not so the egg.” The novice was enlightened. Soon the novice was defining all his classes to be immutable. Not one property could be modified: a new instance had to be created with the necessary changes. His constructors were sometimes astonishingly large and complex. The Java master was told of this, and said: “Let the form of an egg be cast in brass, and given to the nun to breakfast upon.” In this manner was the nun charged with correcting the novice.