《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 . 无意识的递归

原文地址:https://www.cnblogs.com/DiZhang/p/12545069.html