php byte stringbuffer,重拾java基础(十三):String姐妹StringBuffer、StringBuilder总结
重拾java基礎(十三):String姐妹StringBuffer、StringBuilder總結
一、StringBuffer類概述buffer:緩沖
2. 字符串緩沖區(qū),跟String非常相似,都是用來存字符串數(shù)據(jù)的
3. String類和StringBuffer類中都有一個char數(shù)組,它就是緩沖區(qū) String類的這個緩沖區(qū)我們是不能進行操作,而StringBuffer類的這個緩沖區(qū)可以控制它的長度
4. java.lang包
5. 緩沖區(qū)不夠用時可以自動增長
二、構造方法public StringBuffer(),無參構造方法,構造一個空的字符串緩沖區(qū),初始容量為16個字符
public StringBuffer(int capacity),構造一個指定容量的空的字符串緩沖區(qū)
public StringBuffer(String str),使用一個字符串作為初始內(nèi)容來構造一個字符串緩沖區(qū),并在后面預留16個字符的空緩沖區(qū)
1. StringBuffer sb="hello"; 不行
2. StringBuffer sb=new StringBuffer("hello");
sb+"world"; 不行
三、功能方法public StringBuffer append(任意類型 o),把任意類型數(shù)據(jù)的字符串表達形式追加到緩沖區(qū)的最后(例如:如果是對象,追加的是其toString方法的返回值)
public StringBuffer insert(int offset,任意類型 o),把任意類型的字符串表達形式插入到緩沖區(qū)指定位置
public int capacity(),獲得字符串緩沖區(qū)的當前容量
public int length(),獲得字符串緩沖區(qū)內(nèi)字符串的長度
public StringBuffer delete(int start,int end),刪除緩沖區(qū)指定起始位置的字符串
public StringBuffer deleteCharAt(int index),刪除緩沖指定位置的字符
public StringBuffer replace(int start,int end,String str),把緩沖區(qū)指定位置的字符串替換為新的字符串
public StringBuffer reverse(),字符串反轉(zhuǎn)(倒)
public String toString(),把StringBuffer轉(zhuǎn)換為String類型
四、String和StringBuffer的區(qū)別1. StringBuffer sb="hello"; 不行
2. StringBuffer sb=new StringBuffer("hello"); sb+"world"; 不行
3. String對象是不可變的,StringBuffer對象是可變的(畫內(nèi)存分配圖)
4. StringBuffer保證線程安全(數(shù)據(jù)同步),String不保證線程安全(數(shù)據(jù)不同步)
五、StringBuilder類它跟StringBuffer一樣,兩個類兼容的
2. 該類不保證線程安全
3. 在不考慮多線程的情況下,字符串三姐妹的效率:StringBuilder類 > StringBuffer類 > String類如果連接字符串常量,使用字符串的“+”效率更高;如果連接字符串變量,使用StringBuffer的append方法效率更高
六、包裝類Java有8大基本數(shù)據(jù)類型:byte、short、int、long;float、double;char、boolean
2. String s="100"; String s="99.999" ;
3. Java提供了基本數(shù)據(jù)類型對應的引用數(shù)據(jù)類型:Byte、Character、Short、Integer、Long、Float、Double、Boolean
4. 不管是引用數(shù)據(jù)類型還是基本數(shù)據(jù)類型,他們的作用都是一樣的。差別主要是:引用類型里面可以提供方法,基本數(shù)據(jù)類型不行
5. 基本數(shù)據(jù)類型對應的引用數(shù)據(jù)類型叫包裝類
6. 包裝類的用法 Integer i=new Integer(100); //裝箱 //int i=100; Integer j=100; //自動裝箱(JDK5以后) System.out.println(i.intValue()+100); //拆箱 System.out.println(i+100); //自動拆箱(JDK5以后)
七、包裝類的主要作用
這些類中提供了一下功能方法,可以實現(xiàn)把String類型的數(shù)據(jù)轉(zhuǎn)換成包裝類或基本數(shù)據(jù)類型1.String和包裝類之間互相轉(zhuǎn)換 a.包裝類轉(zhuǎn)換為String Integer i=100; i+"" toString() b.String轉(zhuǎn)換為包裝類 valueOf:該方法在哪個類,那么它的作用就是把其他類型轉(zhuǎn)換成它所在的這個類2.String和基本數(shù)據(jù)類型之間的互相轉(zhuǎn)換 a.基本數(shù)據(jù)類型轉(zhuǎn)換為String +"" b.String轉(zhuǎn)換為基本數(shù)據(jù)類型
八、正則表達式程序需要對客戶錄入的數(shù)據(jù)進行校驗
2. 正則表達式的作用就是對數(shù)據(jù)進行校驗(針對格式)
3. 示例:鄭州市固定電話(0371-56061160-223) 區(qū)號固定為0371 電話號碼固定8位,不能以0開頭 分機號可有可無,1-3位 都是數(shù)字 中間用“-”分割
4. String zz_phone="0371-[1-9]//d{7}(-//d{1,3})?";
5. 正則表達式是以字符串的形式存在的
6. 正則表達式就是由一堆特殊的符號組成的,用來描述或表達某種數(shù)據(jù)的格式的
九、怎么寫正則表達式
1.先寫固定不變的2.然后分塊寫,每塊都是先指定類型后指定個數(shù)
十、怎么用正則表達式進行數(shù)據(jù)校驗1.String類的public boolean matches(String regex){}String email="601141632@qq.com";String email_regex=".+@//w+//.[a-z]{2,}";email.matches(email_regex);
2.java.util.regex包中有個Pattern類public static matches(String regex,String input){}
十一、String類的split方法支持正則表達式
2.String類的replace方法不支持正則表達式,replaceAll支持正則表達式
以上就是重拾java基礎(十三):String姐妹StringBuffer、StringBuilder總結的內(nèi)容,更多相關內(nèi)容請關注PHP中文網(wǎng)(www.php.cn)!
本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請注明出處,感謝您的尊重!
總結
以上是生活随笔為你收集整理的php byte stringbuffer,重拾java基础(十三):String姐妹StringBuffer、StringBuilder总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 数据分析与展示笔记1 --
- 下一篇: Python 数据分析与展示笔记2 --