1.String对象都是不可变的,使用String类中的方法会生成新的String对象,如果内容没发生改变则指向原引用。
2.当对String做复杂的+逻辑时,尤其是在循环中,使用StringBuilder会带来效率提升。另,StringBuilder
线程不安全,StringBuffer
线程安全。但在单线程中,StringBuilder的效率会高于使用StringBuffer(因为不用
同步,List与Vector,Map与Table同理)。
3.由于Java中某些地方会自动调用toString()方法,所以在写toString()方法时要小心被
递归。比如System.out.println(对象)。
4.System.out.printf增加支持类似C语言中的格式化输出,如System.out.printf("[%d %f]\n" x, y);String也可以使用String.format()方法,参数格式可参照java.util.Formatter类。
5.
正则表达式。Java中的略有不同,语法和使用参照类java.util.regex.Pattern。一直感觉
正则表达式很头大,不细说了。
6.S
canner类,提供扫描输入,很强大的类,可以用File、InputStream、String、Readable的实例初始化,有各种next()方法,可以与正则表达式联用。
7.StringTokenizer,Scanner出来后就悲剧了的一个类,可以无视了。