String型別常用方法
阿新 • • 發佈:2018-12-18
int length()
該方法可以返回當前字串的長度(字元個數)
String str = "我愛java!";
int len = str.length();
System.out.println("length:"+len);//7
char charAt(int index)
返回當前字串中指定位置處對應的字元
// 0123456789012345 String str = "thinking in java"; char c = str.charAt(9); //返回下標9對應的字元 System.out.println(c); //i /* * 檢測迴文 * 上海自來水來自海上 * * 規則:正數位置上的字元與倒數位置上的字元都 * 一樣的則是迴文 */ String line = "上海自來水來自海上"; for(int i=0;i<line.length()/2;i++){ char c1 = line.charAt(i); char c2 = line.charAt(line.length()-1-i); if(c1!=c2){ System.out.println("不是迴文數"); return; } } System.out.println("是迴文數");
int indexOf(String str)
查詢給定字串在當前字串中的位置。
若當前字串不包含給定內容,則返回值為-1
// 0123456789 String str = "thinking in java"; int index = str.indexOf("in"); System.out.println("index:"+index); //2 /* * 過載方法允許從指定位置開始查詢第一次出現的位置 */ index = str.indexOf("in",3);//從指定下標開始查詢 System.out.println("index:"+index);//5 /* * 查詢給定字串在當前字串中最後一次出現的位置 */ index = str.lastIndexOf("in"); System.out.println("index:"+index);//9 //如何判斷字串只出現一次 // indexOf與lastIndexOf返回值相等,則只出現一次
String substring(int start,int end)
擷取當前字串中指定範圍內的字串,在API中有一個
特點,凡是使用兩個數字表示範圍時,通常都是 "含頭不含尾"的
// 0123456789012 String str = "www.baidu.com"; //擷取域名 String sub = str.substring(4,9);//包含4的下標開始擷取 ,不包含9下標的字元 System.out.println(sub);//baidu //一個引數的則是從指定位置擷取到末尾 sub = str.substring(4); System.out.println(sub);//baidu.com
String startsWith(String str)
判斷當前字串是否是以給定的字串開始的
String endsWith(String str)
判斷當前字串是否是以給定的字串結尾的
返回值都為boolean型別
String line = "thinking in java";
boolean starts = line.startsWith("th");
System.out.println("starts:"+starts);//true
boolean ends = line.endsWith("va");
System.out.println("ends:"+ends);//true
字串提供了可以將當前字串中的英文部分轉換為全大寫或全小寫
String toUpperCase() 轉大寫
String toLowerCase() 轉小寫
String str = "我愛Java";
String upper = str.toUpperCase();
System.out.println("upper:"+upper);//我愛JAVA
String lower = str.toLowerCase();
System.out.println("lower:"+lower);//我愛java
String trim()
去除一個字串兩邊的空白字元
String string = " he llo ";
System.out.println(string);
String trim = string.trim(); //只能去掉兩邊的空白
System.out.println(trim);//he llo
String.valueOf()
字串提供了一組靜態的方法:String.valueOf()
可以將其他型別轉換為字串。常用的是將基本型別轉換為字串
int i = 123;
String iString = String.valueOf(i);
System.out.println(i+4); //127
System.out.println(iString+4);//1234
iString = i+""; //任何內容與字串連線結果還是字串
double d = 123.123;
String dString = String.valueOf(d);
System.out.println(dString);
String方法test
//length()
String s1 = "我我1234";
int length = s1.length();
System.out.println("length="+length);//6
/*indexOf(String str)
* 查詢給定字串在當前字串中的位置,若無則返回值為-1
*/
String s2 = "thinking";
int index = s2.indexOf("in");
System.out.println("index="+index);//2,在下標2
/*charAt(int index)
* 返回當前字串對應位置的字元
*/
String s3 = "thing";
char c = s3.charAt(2);
System.out.println("c="+c);//i,下標2對應的字元為i
/*
* String substring(int start,int end)
* 擷取當前字串中指定範圍內的字串,在API中有一個
* 特點,凡是使用兩個數字表示範圍時,通常都是 "含頭不含尾"的
*/
String s4 = "thinkinginjava";
String ss = s4.substring(4,9); //不包含9下標的字元
System.out.println("ss="+ss);//kingi
//只有一個引數是從指定位置擷取到末尾
String ss1 = s4.substring(7);
System.out.println("ss1="+ss1);//ginjava
/*String trim()
* 去除字串兩邊空白字元
*/
String s5 = " hello ";
System.out.println("s5="+s5);// hello
s5 = s5.trim();
System.out.println("s5="+s5);//hello
/*String startsWith(String str)
* 判斷當前字串是否是以給定的字串開始的
* String endsWith(String str)
* 判斷當前字串是否是以給定的字串結尾的
* 返回值 boolean
*/
String s6 = "thinking java";
boolean start = s6.startsWith("th");
System.out.println("start="+start);//true
boolean end = s6.endsWith("aa");
System.out.println("end="+end);//false
/*String toUpperCase() 將字串中的英文部分轉換成大寫
* String toLowerCase() 小寫
*/
String s7 = "我愛Java";
String upper = s7.toUpperCase();
System.out.println("upper="+upper); //我愛JAVA
String lower = s7.toLowerCase();
System.out.println("lower="+lower); //我愛java
/*
* 靜態方法 valueOf() 類名. 訪問
* 將其他型別轉換成字串
*/
int i = 123;
String istr = String.valueOf(i);
System.out.println(i+4);//127
System.out.println(istr+4); //1234