天天看點

java String類 trim() 方法源碼分析

java jdk public String trim() 方法源碼分析

    public String trim() {

        int arg0 = this.value.length;   //得到此字元串的長度

        int arg1 = 0;         //聲明一個int 值,并指派為0

        char[] arg2;         //聲明一個char數組

        for (arg2 = this.value; arg1 < arg0 && arg2[arg1] <= 32; ++arg1) {

   //将此字元數組指派給arg2字元數組(java字元串底層是字元數組,這個字元數組就是String類的value屬性);

   //為什麼小于等于32,請參看ASCII碼表,ASCII表32表示一個空格,32以下有tab制表符,\n換行符,\r回車符,\b倒退等。

   //如果一個字元串為“ 123 ”,那麼這個方法運作完畢,arg1的值會被指派為1.

            ;

        }

        while (arg1 < arg0 && arg2[arg0 - 1] <= 32) {

            --arg0;

   //如果一個字元串為“ 123 ”,那麼這個方法運作完畢,arg0會被指派為4

        return arg1 <= 0 && arg0 >= this.value.length ? this : this.substring(arg1, arg0);

    //arg1==1,是以走後面。this.substring(1,4)

    //含頭不含尾,結果為“123”

    }