標籤:地址 字典順序 回收 bsp 指定 ... 內容 調用 3.1
1.String對象的聲明和操作
字串無處不在,使用String來構造,並儲存字串,
例:
常用:String str = “abc”;
不常用:String str = new String(“abc”);
PS:
String s= "abc";
String s1 = "abc";
s==s1=true;(==號判斷地址是否一致,equals判斷內容是否一致);
s.equals(s1)=true;
使用new關鍵字建立字串,就會在字串池中建立2個地址,內容一樣,兩者地址不同,
String s=new String ("abc");
String s1= new String ("abc");
s==s1=false;(==號判斷地址是否一致,equals判斷內容是否一致);
s.equals(s1)=true;
String對象是不可變的,
類中每一個看來會修改String值的方法,其實都是建立了新的String對象(包含修改後的字串內容),
String的唯讀性帶來效率最佳化可能
字串字面值儲存於字串池中,String對象優先指向該字串池,避免反覆產生重複的字串執行個體,
系統對String 的非修改處理效率很高,遠遠超過另外兩個字串類StringBuffer和StringBuilder
2.String對象的常用方法
--length()--返回此字串的長度
--charAt(int index)--返回指定索引處的char值。
--concat(String str) --將指定字串串連到此字串的結尾
--contains(CharSequence s)--是否包含指定的字串序列
--equals(Object anObject ) --將此字串與指定的對象比較
--compareTo(String anotherString ) --按字典順序比較兩個字串
--indextOf(int ch) --返回指定字元在此字串中第一次出現的索引
--split(String regex) -- 根據匹配給定的Regex來拆分此字串
--substring(int beginIndex) --截取字串
--toLower/upperCase() -- 將指定字串進行大小寫轉換
等等...
3.物件導向的優點
3.1便於程式類比現實世界中的實體
用“類”封裝建模實體物件的狀態和行為
3.2隱藏細節
對象的行為和狀態被封裝在類中,外界通過公用的介面--來調用類的方法來獲得狀態資訊,不需要關注內部細節如何?,
3.3可重用
通過類模版,可建立多個對象案例,重用類的定義代碼
4.java對象的記憶體管理機制
使用new建立對象,在堆記憶體配置對象空間、初始化
在方法棧中定義局部變數,持有對堆記憶體中對象的引用
方法執行完返回,棧記憶體自動釋放,局部變數銷毀
如果堆記憶體中對象沒有變數引用它,成為垃圾,由記憶體回收行程回收,釋放所佔堆記憶體!
java基礎(6)物件導向編程(2)