1. 程式人生 > >string方法 動手動腦

string方法 動手動腦

轉換 logs value 如果 tool 下標 alt code har

String.equals()方法:

public boolean equals(Object anObject) {

        if (this == anObject) {

            return true;

        }

        if (anObject instanceof String) {

            String anotherString = (String)anObject;

            int n = value.length;

            if (n == anotherString.value.length) {

                char v1[] = value;

                char v2[] = anotherString.value;

                int i = 0;

                while (n-- != 0) {

                    if (v1[i] != v2[i])

                        return false;

                    i++;

                }

                return true;

            }

        }

        return false;

    }

  

對於object類的equals()方法,判斷調用該方法的對象與要比較的對象是不是同一個對象(判斷地址),而String類中的equals()方法,則判斷當前字符串與傳遞進來的字符串的內容是否一致。 object類中的equals()方法: public boolean equals(Object obj) { //調用equal的對象的地址和參數對象的地址是否相等 return (this == obj); } 另外,對於java中的其他類,如果沒有重寫object類中的equals()方法,我們就可以認為調用該類的equals()方法就是判斷這兩個類是不是同一個類。只要是使用
new類名(),這種形式生成的類(除單例外),我們都可以認為是不同的類(地址不同)。

Length():獲取字符串的長度

例子:

技術分享

charAt():獲取指定位置的字符

例子:

技術分享

getChars():獲取從指定位置起的子串復制到字符數組中它有四個參數,1.被拷貝字符在字串中的起始位置 2.被拷貝的最後一個字符在字串中的下標再加1 3.目標字符數組 4.拷貝的字符放在字符數組中的起始下標

列子:

技術分享

replace():子串替換,可以將原字符串中的某個字符替換為指定的字符,並得到一個新的字符串,該方法的具體定義如下:

技術分享

toUpperCase()、 toLowerCase():大小寫轉換,在String類中提供了兩個用來實現字母大小寫轉換的方法,它們的返回值均為轉換後的字符串,

其中toLowerCase()用來將字符串中的所有大寫字母改為小寫字母,,方法toUpperCase()用來將字符串中的所有小寫字母改為大寫字母

技術分享

trim():去除字符串的首尾空格,該方法的具體定義如下:

技術分享


toCharArray():將字符串對象轉換為字符數組

技術分享

3請閱讀JDK中String類上述方法的源碼,模仿其編程方式,編寫一個MyCounter類,它的方法也支持上述的“級聯”調用特性

技術分享
class MyCounter
{
    public int x;
    MyCounter(int xy)
    {
        this.x=xy;
    }
    MyCounter increase(int a)
    {
      this.x=this.x+a;
      return this;
    }
    MyCounter decrease(int b)
    {
        this.x =this.x-b;
        return this;
    }
}
public class ceshi_2 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        MyCounter counter1=new MyCounter(1);
        MyCounter counter2=counter1.increase(100).decrease(2).increase(3);
        System.out.println(counter2.x);
    }
}
技術分享

結果截圖:

技術分享

string方法 動手動腦