搜尋
首頁Javajava教程重拾java基礎(十三):String姊妹StringBuffer、StringBuilder總結

重拾java基礎(十三):String姊妹StringBuffer、StringBuilder總結

一、StringBuffer類別概述

  1. buffer:緩衝

    字串:緩衝

相似,都是用來存字串資料的

3. String類別和StringBuffer類別中都有一個char數組,它就是緩衝區      String類別的這個緩衝區我們是不能進行操作,而StringBuffer類別的這個緩衝區可以控制它的長度

4. java.lang套件

5. 緩衝區不夠用時可以自動成長

二、建構方法

public StringBuffer(),无参构造方法,构造一个空的字符串缓冲区,初始容量为16个字符
public StringBuffer(int capacity),构造一个指定容量的空的字符串缓冲区
public StringBuffer(String str),使用一个字符串作为初始内容来构造一个字符串缓冲区,并在后面预留16个字符的空缓冲区
1. StringBuffer sb="hello";   不行
2. StringBuffer sb=new StringBuffer("hello");   
sb+"world";   不行

的區別

public StringBuffer append(任意类型 o),把任意类型数据的字符串表达形式追加到缓冲区的最后(例如:如果是对象,追加的是其toString方法的返回值)
public StringBuffer insert(int offset,任意类型 o),把任意类型的字符串表达形式插入到缓冲区指定位置
public int capacity(),获得字符串缓冲区的当前容量
public int length(),获得字符串缓冲区内字符串的长度
public StringBuffer delete(int start,int end),删除缓冲区指定起始位置的字符串
public StringBuffer deleteCharAt(int index),删除缓冲指定位置的字符
public StringBuffer replace(int start,int end,String str),把缓冲区指定位置的字符串替换为新的字符串
public StringBuffer reverse(),字符串反转(倒)
public String toString(),把StringBuffer转换为String类型

五、StringBuilder類別

它跟StringBuffer一樣,兩個類別相容的

  1. 2. 該類別不保證,字串三姊妹的效率:StringBuilder類別> StringBuffer類別> String類別如果連接字串常數,使用字串的「+」效率更高;如果連接字串變量,使用StringBuffer的append方法效率更高

  2. 六、包裝類別

Java有8大基本資料類型:byte、short、int、long;float、double;char、boolean

2. String s="100"; String s 999999999 " ;
  1. 3. Java提供了基本資料型別對應的參考資料型別:Byte、Character、Short、Integer、Long、Float、Double、Boolean

    4. 不管是引用資料型別或基本資料型別,他們的作用都是一樣的。差異主要是:引用型別裡面可以提供方法,基本資料型別不行
5. 基本資料型態對應的引用資料型別叫包裝類別

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以後)

七、包裝類別的主要作用

這些類別中提供了一下功能方法,可以實現把String類型的資料轉換成包裝類別或基本資料類型1. String與包裝類別之間互相轉換 a.包裝類別轉換為String    Integer i=100;   i+""   toString()  b.String轉換為包裝類別   valueOf:此方法在哪個類別,那麼它的功能就是將其他類型轉換成它所在的這個類別2.String與基本資料型別之間的互相轉換 a.基本資料型別轉換為String  +""    b.String轉換為基本資料型別   

八、正規表示式


八、正規表示式

    八、正規表示式
八、正規表示

程式需要對客戶輸入的資料進行校驗

2. 正規表示式的功能就是對資料進行校驗(針對格式)

3. 範例:鄭州市固定電話(0371-56061160-223)  固定為0371       電話號碼固定8位,不能以0開頭   分機號可有可無,1-3位   都是數字   中間用「-」分割

4. String zz_phone="0371-[19]/ d{7}(-//d{1,3})?"; 

5. 正規表示式是以字串的形式存在的6. 正規表示式就是由一堆特殊的符號組成的,用來描述或表達某種資料的格式的


九、怎麼寫正規表示式

1.先寫固定不變的2.然後分塊寫,每塊都是先指定類型後指定個數

十、怎麼用正規表示式進行資料校驗

1. StringBuffer sb="hello";   不行
2. StringBuffer sb=new StringBuffer("hello");   sb+"world";   不行
3. String对象是不可变的,StringBuffer对象是可变的(画内存分配图)
4. StringBuffer保证线程安全(数据同步),String不保证线程安全(数据不同步)
  1. 十一、

String的splitString

.正規表示式,replaceAll支援正規表示式


以上就是重拾java基礎(十三):String姊妹StringBuffer、StringBuilder總結的內容,更多相關內容請關注PHP中文網(www.php. cn)!


🎜
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
是否有任何威脅或增強Java平台獨立性的新興技術?是否有任何威脅或增強Java平台獨立性的新興技術?Apr 24, 2025 am 12:11 AM

新興技術對Java的平台獨立性既有威脅也有增強。 1)雲計算和容器化技術如Docker增強了Java的平台獨立性,但需要優化以適應不同雲環境。 2)WebAssembly通過GraalVM編譯Java代碼,擴展了其平台獨立性,但需與其他語言競爭性能。

JVM的實現是什麼,它們都提供了相同的平台獨立性?JVM的實現是什麼,它們都提供了相同的平台獨立性?Apr 24, 2025 am 12:10 AM

不同JVM實現都能提供平台獨立性,但表現略有不同。 1.OracleHotSpot和OpenJDKJVM在平台獨立性上表現相似,但OpenJDK可能需額外配置。 2.IBMJ9JVM在特定操作系統上表現優化。 3.GraalVM支持多語言,需額外配置。 4.AzulZingJVM需特定平台調整。

平台獨立性如何降低發展成本和時間?平台獨立性如何降低發展成本和時間?Apr 24, 2025 am 12:08 AM

平台獨立性通過在多種操作系統上運行同一套代碼,降低開發成本和縮短開發時間。具體表現為:1.減少開發時間,只需維護一套代碼;2.降低維護成本,統一測試流程;3.快速迭代和團隊協作,簡化部署過程。

Java的平台獨立性如何促進代碼重用?Java的平台獨立性如何促進代碼重用?Apr 24, 2025 am 12:05 AM

Java'splatformindependencefacilitatescodereusebyallowingbytecodetorunonanyplatformwithaJVM.1)Developerscanwritecodeonceforconsistentbehavioracrossplatforms.2)Maintenanceisreducedascodedoesn'tneedrewriting.3)Librariesandframeworkscanbesharedacrossproj

您如何在Java應用程序中對平台特定問題進行故障排除?您如何在Java應用程序中對平台特定問題進行故障排除?Apr 24, 2025 am 12:04 AM

要解決Java應用程序中的平台特定問題,可以採取以下步驟:1.使用Java的System類查看系統屬性以了解運行環境。 2.利用File類或java.nio.file包處理文件路徑。 3.根據操作系統條件加載本地庫。 4.使用VisualVM或JProfiler優化跨平台性能。 5.通過Docker容器化確保測試環境與生產環境一致。 6.利用GitHubActions在多個平台上進行自動化測試。這些方法有助於有效地解決Java應用程序中的平台特定問題。

JVM中的類加載程序子系統如何促進平台獨立性?JVM中的類加載程序子系統如何促進平台獨立性?Apr 23, 2025 am 12:14 AM

類加載器通過統一的類文件格式、動態加載、雙親委派模型和平台無關的字節碼,確保Java程序在不同平台上的一致性和兼容性,實現平台獨立性。

Java編譯器會產生特定於平台的代碼嗎?解釋。Java編譯器會產生特定於平台的代碼嗎?解釋。Apr 23, 2025 am 12:09 AM

Java編譯器生成的代碼是平台無關的,但最終執行的代碼是平台特定的。 1.Java源代碼編譯成平台無關的字節碼。 2.JVM將字節碼轉換為特定平台的機器碼,確保跨平台運行但性能可能不同。

JVM如何處理不同操作系統的多線程?JVM如何處理不同操作系統的多線程?Apr 23, 2025 am 12:07 AM

多線程在現代編程中重要,因為它能提高程序的響應性和資源利用率,並處理複雜的並發任務。 JVM通過線程映射、調度機制和同步鎖機制,在不同操作系統上確保多線程的一致性和高效性。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),