string方法 動手動腦
阿新 • • 發佈:2017-10-27
轉換 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方法 動手動腦