字符串
String类中每个修改的String值的方法实际上都是创建了一个全新的String对象
String s="asdf" String x = Immutable.upcase(s) 对于一个参数来说,参数是为方法提供信息的,而不是让一个方法改变自身,难道真的希望这个方法改变String本身吗
重载与StringBuilder
如果希望使用toString()方法打印出对象的内存地址时,如果考虑使用this关键字,在System.out.println中直接打印对象时,会发生自动类型转换,而编译器看到String后面跟着+,而再后面的对象不是String,那么会尝试将this转换为一个String,而这个转换又是通过toString()方法来完成的,因此无限递归。