String類的使用
String類
1.String類的不可變性:
1)String是一個final修飾的類,是不可以變的字元序列,不可被繼承的
2)String物件是儲存在一個char型別的陣列裡的
3)String實現了Serializable介面:表示字串支援序列化。
實現了comparable介面:表示可以比較大小。
4)代表不可變的字元序列。體現:
1.當對字串重新賦值時,需要重寫指定區域賦值,不能使用原有value進行賦值。
2.當對原有的字串進行拼接時,也需要在指定區域重新賦值,不能使用原有value進行賦值。
3.當呼叫String.replace();方法時,也需要在指定區域重新賦值,不能使用原有value進行賦值。
5)通過字面量的方式給一個字串賦值,此時的字串值宣告在字串常量池中。
6)字元產常量池是不會儲存內容相同的字串的
2.String類物件的建立:
1)通過字面量定義:String str=" ";在常量池中建立;
2) 通過構造器定義:String str =new String(); 在堆上建立物件,相當於建立了兩個物件;
//字面量方式定義
String s1="holle";
String s2="holle";
//構造器定義
String s3=new String("holle");
String s4=new String("holle");
System.out.println(s1==s2);//ture
System.out.println(s3==s4);//false
System.out.println(s1==s3);//false
//物件中String型別屬性賦值,屬於字面量方式定義的
Cat cat1=new Cat("果然翁");
Cat cat2=new Cat("果然翁");
System.out.println(cat1.getName()==cat2.getName());//ture
面試題1:String str=new String("abc");在記憶體中建立了幾個物件?
兩個,一個是在隊中建立了一個物件,另一個是在常量池中建立的物件;
面試題2:寫出下面程式碼執行結果
String p1="a";
String p2="b";
String p3="ab";
String p4="a"+"b";
String p5="a"+s2;
String p6=s1+s2;
final String p7="a";
String p9=p7+"b";
String p8=p5.intern;//返回值得到常量值中已經存在的"ab"
System.out.println(p3 == p4);//ture
System.out.println(p3 == p5);//false
System.out.println(p3 == p6);//false
System.out.println(p4 == p5);//false
System.out.println(p5 == p6);//false
System.out.println(p3 == p4);//ture
System.out.println(p3 == p8);//ture
p3,p4為兩個常量字串拼接可以在常量池中建立物件,p5,p6中包含變數拼接,若其中s1,s2改變則p5,p6都會改變,所以不會在常量池裡,而是在堆上建立的物件。
3.String類的常用方法
4.String類和其他結構之間的轉換
1.String與基本資料型別,包裝類之間的轉換。
String-->基本資料型別,包裝類:呼叫包裝類靜態方法:parseXxx(str)
基本資料型別,包裝類-->Sring:valueof(xxx)
2.String與char[]之間轉換
String-->char[]:toCharArrays();
char[]-->String:呼叫構造器:String str=new String(char[]);
3.String與byte[]之間的轉換
String-->byte[]:getBytes();
byte[]-->String:呼叫構造器:String str=new String(Bytes);
相關文章
- String類的使用2
- Java使用類-StringJava
- String類
- String 類的 substring () 方法
- String類常用的方法
- string類的實現
- java中String類常用方法的使用與例項Java
- Java String類Java
- String、StringBuffer和StringBuilder類的UI
- 04_String類
- Java中String類的常用方法Java
- 自實現string類
- Java新人之路 -- String類Java
- java String類說明Java
- Java與眾不同的字串-String類Java字串
- Java中String類的初始化?Java
- String類以及練習案例
- Java進階01 String類Java
- java 常用類-String-1Java
- java String類練習題Java
- 今日總結深入String類
- [趣學程式]java的常用類之StringJava
- String類中的equals方法與Object類中的equals方法的不同點Object
- Java--String類查詢方法Java
- C++學習 2.5 string類C++
- JDK原始碼閱讀-String類JDK原始碼
- String的intern方法使用場景
- day08_我的Java學習筆記 (String類、ArrayList集合類)Java筆記
- 2020-11-23Command物件的三個主要方法和String and String Builder類 字串建造物件UI字串
- Java基礎類String學習分析Java
- JAVA集合類簡要筆記 - 內部類 包裝類 Object類 String類 BigDecimal類 system類Java筆記ObjectDecimal
- string,字串使用指南字串
- JDK8 String類知識總結JDK
- Asp.net中使用Server.HtmlDecode(string str)的使用ASP.NETServerHTML
- Day33:String類及其常用方法詳解
- 【C++】從設計原理來看string類C++
- 自定義簡易string類c++primer13.44C++
- C#中的char和string的使用簡介C#