不可变String
String对象是不可变的。查看JDK文档你就会发现,String类中每一个看起来会修改String值的方法,实际上都是创建了一个全新的String对象,以包含修改后的字符串内容。而最初的String对象则毫无变动。
StringBuilder
StringBuilder提供了丰富而全面的方法,包括insert()、replace()、substring()甚至reverse(),但是最常用的还是append()和toString()。还有delete()方法。
当你为一个类编写toString()方法时,如果字符串操作比较简单,那就可以信赖编译器,它就会为你合理地构造最终的字符串结果。但是,如果你要在toString()方法中使用循环,那么最好自己创建一个StringBuilder对象,用它来构造最终的结果。
扫描输入
Scanner的构造器可以接受任何类型的输入对象,包括File对象、InputStream、String。