String類:建立方式與常用方法
阿新 • • 發佈:2021-10-15
建立方式分為:字面量建立與構造器物件建立,String類的特點是不可變性,
1 package CommonClass; 2 3 import org.junit.Test; 4 5 /** 6 * String類的使用: 7 * 一: 8 * 1:String類是final不可繼承的太監類 9 * 2:String類實現了Comparable介面,所以字串可以比較大小 10 * 3:String類定義了final char[] value 用於儲存字串資料 11 * 4:String類代表不可變的字元序列,成為不可變性 12 * 體現: 1:對於字串重新賦值時,需要重寫指定記憶體區域,不可以在原有的基礎上進行賦值13 * 2:對於現有的字串進行拼接操作時,也需要重新指定記憶體區域, 14 * 3:呼叫replace方法也是建立一個新的字串,原有的字串不會改變 15 **************************** 16 * 二:String類物件的建立: 17 * 1:String name="hpp";:通過字面量定義的方式 18 * 2:String s=new String(); 通過構造器的方式定義 19 * 3:String s1=new String(original value) 也是構造器 20 * // String s1="abc" 與String s2=new String("abc")的區別:21 * s1 的abc放在字串常量池中,s2的abc放在堆中 22 **************************** 23 * 三:String字面量的拼接: 24 * 結論:有變數名參與的拼接操作在堆空間中地址值不相等,兩個字面量的拼接還在常量池中就相等 25 */ 26 public class StringTest { 27 @Test 28 public void test1(){ 29 String s1="hp"; 30 String s2="hpp"; 31 s1="hpp"; 32 System.out.println(s2==s1); 33 //拼接操作 34 String s3="huang"; 35 String s4=s3+"132612"; 36 System.out.println(s4); 37 //呼叫replace方法 38 String s5=s3.replace('h','p'); 39 System.out.println(s5); 40 } 41 @Test 42 public void test2(){ 43 String name="123";//字面量定義的方式 44 String name1=new String("123");//構造器定義的方式 45 String name2=new String("123"); 46 String name3=name+"hpp"; 47 System.out.println(name==name1);//兩種不同的例項化方式物件的地址值不一樣 48 System.out.println(name1==name2);//兩個物件的地址值是不一樣的 49 System.out.println(name==name3);//對於有變數名參與的拼接地址值不一樣 50 } 51 }
String類常用方法:length,replace替換,charAt獲取指定位置的字元,isEmpty字串是否為空,
tolowercase,touppercase轉換大小寫,compareto比較字串大小:ASCII碼
1 /** 2 * String類的常用方法: 3 * 1:int length():獲取字串長度 4 * 2:char charAt(index):獲取指定位置上的字元 5 * 3:boolean isEmpty():判斷字串時是否為空 6 * 4:toLowercase():變成小寫 7 * 5:toUppercase():變成大寫 8 * 6:compareTo(String str2):比較兩個字串大小(比較ASCII碼值)從前往後匹配,只要匹配到一個字串不同就停止 9 * 輸出ASCII碼的差值 10 * 7:boolean StartWith(String str):判斷是否以指定的字串為字首 11 * 8:boolean EndsWith(String str):判斷是否以指定的字串為字尾 12 * 9:int indexOf(String str):從左往右返回指定字串在當前字串的索引位置 13 * 10:int lastIndexOf(String str):從右往左返回 14 * 11:String replace(oldChar'',newChar''):將字串中指定的的單個字元全部替換 15 * 12:String replace(target"",replacement""):將字串中指定的的字串全部替換 16 * 13: 17 * 18 * 19 */ 20 public class StringMethodsTest { 21 @Test 22 public void test1(){ 23 String s="Huang";//a=65,A=97 24 String s3="GuAn"; 25 String ss="Huang132ang@"; 26 System.out.println(ss.replace("ang","黃鵬")); 27 System.out.println(ss.startsWith("Hua")); 28 System.out.println(ss.indexOf("u")); 29 System.out.println(s.length()); 30 System.out.println(s.charAt(4)); 31 System.out.println(s.isEmpty()); 32 String s1=s.toLowerCase(); 33 String s2=s.toUpperCase(); 34 System.out.println(s1+"\t"+s2); 35 System.out.println(s.compareTo(s3)); 36 } 37 }