首页 > 代码库 > 《java编程思想》:字符串

《java编程思想》:字符串

1.String对象是不可变的,String类中每个看起来会修改String值的方法,实际上都是创建了一个新的String对象,来包含修改后的内容,所以在对String修改后,想打印新的值,可以直接打印,或者使用变量接受,直接打印原String引用是不会有变化的。

2.通过 “+” 连接String字符串,实际上是编译器自动引入了StringBuilder类,通过append()方法实现的。

3.当为一个类编写toString()方法时,如果字符串操作比较简单,可以直接使用“+”,信赖编译器。  但是如果在方法中使用了循环时,最好自己创建一个StringBuilder对象,用它来手动构造最后的结果。 如果使用“+”,编译器会在循环的过程中不断的创建StringBuilder对象,影响效率的同时也会造成过多垃圾。虽然java存在自动回收机制,但是其从来不是实时的,只是在内存不够用时才回收,所以尽量产生少的垃圾也是必要的。

4.在toString()方法中,不要直接使用this,如使用 a = “b” + this + “c”这种语句,编译器无法识别this的时候,会调用this的toString()方法,此时就会陷入递归中,不停地出错。

5.Formatter()类能实现String字符串输出格式更精细的控制,当需要时可以参考使用此类。

6.String.format()方法,其实现原理也是内部创建Formatter对象,实现格式化。

7.熟练掌握正则表达式的书写规范,同时熟悉使用Pattern和Matcher类api,两者结合的功能很强大,几乎可以满足对字符串的操作。

《java编程思想》:字符串