基础类Object

2020-01-16  本文已影响0人  崇文树

String类的核心方法:

private final char[] value; // final修饰的char数组;

private int hashCode;

// trim方法

public String trim(){

    int start = 0;

    int end = this.value.length;

    char[] val=this.value;

    while( (start<end) && (val[start] <= ' ' )){

        start++;

    }

    while( start<end) && (val[end] <= ' '){

        end--;

    }

    return (start>0 || end<this.value.length) : subString(start,end) : this;

}

// subString方法

public String subString(start,end){

    if(start<0){

        throw new StringIndexOutOfBoundsException(start);

    }

    if(end>this.value.length){

         throw new StringIndexOutOfBoundsException(end);

    }

    int sub=end-start;

    if(sub<0){

         throw new StringIndexOutOfBoundsException(sub);

    }

    return (start==0)&&(end==this.value.length) ? this : new String(value,start,sub);

}

// startsWith方法

public boolean startsWith(String prefix,int offset){

    char[] source=this.value;

    int sl=this.value.length;

    char[] pre=prefix.value;

    int pl=prefix.value.length;

    if(offset<0 || offset>sl-pl){

        return false;

      }

    int index=0;

    while(--pl>=0){

        if(surce[offset++]!=pre[index++]){

            return false;

        }

    }

return true;

}

上一篇 下一篇

猜你喜欢

热点阅读