最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

深入了解Java核心類庫--String類

 更新時間:2021年07月29日 16:03:56   作者:入錯行的北北  
這篇文章主要為大家詳細介紹了java String類定義與使用的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能給你帶來幫助

一、 簡介

零碎知識點

  • extends Object
    • implements serializable,Comparable< String >,charSequence
  • String類表示字符串,所有字符串文字都是此類的對象
  • 字符串是不變的,值在創(chuàng)建后無法更改
  • 對象一旦聲明則不可改變,改變的只是地址,原來的字符串還是存在的,并且產(chǎn)生垃圾
  • 任何一個“”都為字符串對象,無賦值則為匿名對象
  • 用“+”拼接字符串盡量避免,一般用append+toString
  • StringBuilder(線程不安全)和StringBuffer(線程安全),忽略線程安全,其它都一樣

由于String對象是不可變的,所以可以共享(即兩個字符串一樣則共享同一塊內(nèi)存地址)

//共享
String t1 = "123";
String t2 = "123";
System.out.ptintln(t1 == t2);//true,(== 比較的是內(nèi)存地址)

字符串常量池

存在于方法區(qū)(加載代碼的內(nèi)存區(qū)),被所有的線程共享

堆在邏輯上的劃分

堆在邏輯上被分為三部分:

新生代:存儲剛創(chuàng)建的對象(GC詢問次數(shù)最多為15次,>15則進入老年代)

老年代:垃圾回收次數(shù)超過15次(即15次之后依然存活的對象)

永久代:靜態(tài)修飾的所有東西(類、方法、常量…)

每一個字符串對象的創(chuàng)建都會放入永久代(每次創(chuàng)建都先去永久代,前提:不用new,new開辟新內(nèi)存)

二、 創(chuàng)建對象

2.1.1 直接引用常量區(qū)

String s = " ";

String str = “abc” ;

2.1.2 使用構造方法

String()

String str = new String(“abc”); 

2.1.3 兩種實例化方法的區(qū)別

區(qū)別

直接賦值:

只開辟一塊堆內(nèi)存空間,并且會自動入池,不會產(chǎn)生垃圾會將匿名對象“”放入對象池,下一次不同對象直接賦值時直接利用池中已經(jīng)存在的匿名對象

構造方法:

在堆內(nèi)存創(chuàng)建對象會開辟兩塊堆內(nèi)存空間,其中一塊堆內(nèi)存會變成垃圾被系統(tǒng)回收,而且不能夠自動入池,需要通過public String intern();方法進行手工入池。

三、常用方法

Modifier and Type Method Description
char charAt​(int index) 返回指定索引處的 char值。
int compareTo​(String anotherString) 按字典順序比較兩個字符串。
boolean endsWith​(String suffix) 測試此字符串是否以指定的后綴結尾。
boolean equals​(Object anObject) 將此字符串與指定的對象進行比較。
boolean equalsIgnoreCase​(String anotherString) 將此 String與另一個 String比較,忽略了大小寫。
void getChars​(int srcBegin, int srcEnd, char[] dst, int dstBegin) 將此字符串中的字符復制到目標字符數(shù)組中。
int indexOf​(int ch) 返回指定字符第一次出現(xiàn)的字符串中的索引。
int indexOf​(int ch, int fromIndex) 返回指定字符第一次出現(xiàn)的此字符串中的索引,從指定索引處開始搜索。
int indexOf​(String str) 返回指定子字符串第一次出現(xiàn)的字符串中的索引。
int indexOf​(String str, int fromIndex) 從指定的索引處開始,返回指定子字符串第一次出現(xiàn)的字符串中的索引。
boolean isEmpty() 返回 true ,當且僅當, length()是 0 。
int lastIndexOf​(int ch) 返回指定字符最后一次出現(xiàn)的字符串中的索引。
int lastIndexOf​(int ch, int fromIndex) 返回指定字符最后一次出現(xiàn)的字符串中的索引,從指定的索引開始向后搜索。
int lastIndexOf​(String str) 返回指定子字符串最后一次出現(xiàn)的字符串中的索引。
int lastIndexOf​(String str, int fromIndex) 返回指定子字符串最后一次出現(xiàn)的字符串中的索引,從指定索引開始向后搜索。
int length() 返回此字符串的長度。
String repeat​(int count) 返回一個字符串,其值為此字符串的串聯(lián)重復 count次。
String replace​(CharSequence target, CharSequence replacement) 將此字符串中與文字目標序列匹配的每個子字符串替換為指定的文字替換序列。
String replaceAll​(String regex, String replacement) 將給定替換的給定 regular expression匹配的此字符串的每個子字符串替換。
String replaceFirst​(String regex, String replacement) 將給定替換的給定 regular expression匹配的此字符串的第一個子字符串替換。
boolean startsWith​(String prefix) 測試此字符串是否以指定的前綴開頭。
boolean startsWith​(String prefix, int toffset) 測試從指定索引開始的此字符串的子字符串是否以指定的前綴開頭。
String stripLeading() 返回一個字符串,其值為此字符串,并刪除了所有前導 white space 。
String stripTrailing() 返回一個字符串,其值為此字符串,并刪除所有尾隨 white space 。
CharSequence subSequence​(int beginIndex, int endIndex) 返回作為此序列的子序列的字符序列。
String substring​(int beginIndex) 返回一個字符串,該字符串是此字符串的子字符串。
String substring​(int beginIndex, int endIndex) 返回一個字符串,該字符串是此字符串的子字符串。
char[] toCharArray() 將此字符串轉換為新的字符數(shù)組。
String toLowerCase() 使用默認語言環(huán)境的規(guī)則將此 String所有字符轉換為小寫。
String toUpperCase() 使用默認語言環(huán)境的規(guī)則將此 String所有字符轉換為大寫。
String toUpperCase​(Locale locale) 使用給定 Locale的規(guī)則將此 String所有字符轉換為大寫。
static String valueOf​(T i) 返回T參數(shù)的字符串表示形式。

總結

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關注腳本之家的更多內(nèi)容!

相關文章

  • java實現(xiàn)彈球小游戲

    java實現(xiàn)彈球小游戲

    這篇文章主要為大家詳細介紹了java實現(xiàn)彈球小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Java設計模式編程之解釋器模式的簡單講解

    Java設計模式編程之解釋器模式的簡單講解

    這篇文章主要介紹了Java設計模式編程之解釋器模式的講解,解釋器設計模式要注意其引發(fā)的性能問題,需要的朋友可以參考下
    2016-04-04
  • 解決使用@ManyToMany查詢數(shù)據(jù)時的死循環(huán)問題

    解決使用@ManyToMany查詢數(shù)據(jù)時的死循環(huán)問題

    這篇文章主要介紹了解決使用@ManyToMany查詢數(shù)據(jù)時的死循環(huán)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • IDEA中的Kafka管理神器詳解

    IDEA中的Kafka管理神器詳解

    這款基于IDEA插件實現(xiàn)的Kafka管理工具,能夠在本地IDE環(huán)境中直接運行,簡化了設置流程,為開發(fā)者提供了更加緊密集成、高效且直觀的Kafka操作體驗
    2025-01-01
  • Java實體類中Set按照對象的某個字段對set排序

    Java實體類中Set按照對象的某個字段對set排序

    這篇文章主要介紹了Java實體類中Set按照對象的某個字段對set排序,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-06-06
  • Java面向?qū)ο笾^承的概念詳解

    Java面向?qū)ο笾^承的概念詳解

    這篇文章主要介紹了Java面向?qū)ο笾^承的概念詳解,Java是一種面向?qū)ο蟮木幊陶Z言,繼承是實現(xiàn)面向?qū)ο缶幊痰幕A之一。通過繼承,我們可以使代碼更具可讀性、可重用性和可維護性,從而提高程序的效率和可靠性,需要的朋友可以參考下
    2023-04-04
  • Java中的三種代理模式詳解

    Java中的三種代理模式詳解

    這篇文章主要介紹了Java中的三種代理模式詳解,代理模式的關鍵點是:代理對象與目標對象.代理對象是對目標對象的擴展,并會調(diào)用目標對象,文中提供了部分代碼,需要的朋友可以參考下
    2023-08-08
  • java使用OpenCV從視頻文件中獲取幀

    java使用OpenCV從視頻文件中獲取幀

    這篇文章主要為大家詳細介紹了java使用OpenCV從視頻文件中獲取幀,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • javabean?中使用@Transient屬性處理臨時字段

    javabean?中使用@Transient屬性處理臨時字段

    @Transient表示該屬性并非一個到數(shù)據(jù)庫表的字段的映射,ORM框架將忽略該屬性,本文給大家介紹javabean?中臨時字段的處理:@Transient,感興趣的朋友跟隨小編一起看看吧
    2023-08-08
  • 使用maven項目pom.xml文件配置打包功能和靜態(tài)資源文件自帶版本號功能

    使用maven項目pom.xml文件配置打包功能和靜態(tài)資源文件自帶版本號功能

    在Maven項目中,通過pom.xml文件配置打包功能,可以控制構建過程,生成可部署的包,同時,為了緩存控制與版本更新,可以在打包時給靜態(tài)資源文件如JS、CSS添加版本號,這通常通過插件如maven-resources-plugin實現(xiàn)
    2024-09-09

最新評論

汪清县| 宁都县| 格尔木市| 汾阳市| 南漳县| 德令哈市| 虹口区| 宁远县| 江津市| 留坝县| 满洲里市| 界首市| 河津市| 黄大仙区| 博罗县| 洛川县| 施秉县| 青铜峡市| 南部县| 敦煌市| 云龙县| 银川市| 潢川县| 阿拉善左旗| 宁南县| 象州县| 平潭县| 阜城县| 甘泉县| 乐东| 眉山市| 五家渠市| 庄浪县| 双辽市| 恩施市| 大丰市| 东乡县| 廊坊市| 莱州市| 邵东县| 日喀则市|