《java 编程思想》 读书笔记 (一)
第十三章 字符串
1.String对象是不可变的;api中,每一个看似修改string值的方法,实际上都是创建了一个全新的string对象,以包含修改后的字符串内容;
2.重载+接StringBuilder:
用于String的 + 和 += 试java中仅有的两个重载过的操作符;
如果为一个类编写toString方法,如果字符串操作简单,那么我们可以信任编译器,他会为我们合理的构造出最终的字符串结果;如果要在toString方法中使用循环,那么最好自己创建一个StringBuilder对象,用它来构造最终的结果;
/**
* @desc testStringBuilder
* @author zhangdi
*/
import java.util.*;
public class UsingStingBuilder {
public static Random rand = new Random(47);
public string toString(){
StringBuilder result = new StringBuilder("[");
for(int i = 0 ;i<25;i++){
result.append(rand.nextInt(100));
result.append(",");
}
result.delete(result.length()-2,result.length());
result.append("]");
return result.toString();
}
public static void main(String[] args){
UsingStingBuilder usb = new UsingStingBuilder();
System.out.println(usb);
}
}
利用jdk自带的javap 可以反编译代码, javap -c XXcLass :-c表示生成JVM字节码;.
3 . 无意识的递归