更新時間:2020-10-20 17:08:57 來源:動力節點 瀏覽1239次
字符串是在實際的項目開發中一定會使用到的,是在java筆試題中都會經常出現字符串的考題,也是屬于java基礎范圍的知識。其中string字符串是字符串中需要重點學習的一個,初學者需要在開始學習java的時候掌握好string字符串的知識,下面整理了string字符串的基礎知識點,朋友們一起來學習吧!
先來對字符串的概念總結一下,什么是字符串?如果直接按照字面意思來理解就是多個字符連接起來組合成的字符序列。字符序列是把多個字符按照一定的順序排列起來;而字符序列就是作為字符串的內容而存在的。所以可以把字符串理解為:把多個字符按照一定的順序排列起來而構成的排列組合。
String字符串和char字符不同,char使用單引號,只能表示一個字符,字符串就是一段文本。String是個類。這個類使用final修飾,所以這個類是不可以繼承擴充和修改它的方法的。String類又特別常用,所以在對String對象進行初始化時,它可以不像其它對象一樣,必須使用new關鍵字構造對象。Java提供了一種簡化的特殊語法。
String類表示不可變的字符串,當前String類對象創建完畢之后,該對象的內容(字符序列)是不變的,因為內容一旦改變就會創建一個一個新的對象。
String字符串對象的創建,有兩種方式:方式一:通過字面量賦值創建,String s1 =“laofu”; 需要注意這里是雙引號:“”,區別與字符char類型的單引號:‘’;方式二:通過構造器創建,String s2 = new String(“laofu”)。
以上兩種創建方式的對象在JVM中又是如何分布的呢? 分別有什么區別呢?方式一:String s1 =“laofu”; 有可能只創建一個String對象,也有可能創建不創建String對象;如果在常量池中已經存在”laofu”,那么對象s1會直接引用,不會創建新的String對象;否則,會先在常量池先創建常量”laofu”的內存空間,然后再引用。方式二:String s2 = new String(“laofu”); 最多會創建兩個String對象,最少創建一個String對象。可使用new關鍵字創建對象是會在堆空間創建內存區域,這是第一個對象;然后對象中的字符串字面量可能會創建第二個對象,而第二個對象如方式一中所描述的那樣,是有可能會不被創建的,所以至少創建一個String對象。
String字符串對象的空值:(1)對象引用為空,即:String s1 = null; 此時s1沒有初始化,也在JVM中沒有分配內存空間;()對象內容為空字符串, 比如:String s2 =“”; 此時對象s2已經初始化,值為“”,JVM已經為其分配內存空間。
如何比較兩個字符串?String內部實現了Comparable接口,有兩個比較方法:compareTo(String anotherString) 和compareToIgnoreCase(String str)。(1)compareTo(String anotherString)與傳入的anotherString字符串進行比較,如果小于傳入的字符串返回負數,如果大于則返回證書。當兩個字符串值相等時,返回0.此時eqauls方法會返回true;(2)equalsIgnoreCase(String str),該方法與compareTo方法類似,區別只是內部利用了Character.toUpperCase等方法進行了大小寫轉換后進行比較。
正在學習字符串的朋友們可以根據這篇文章來檢測一下自己是否對string字符串的內容掌握了,上面的內容都是關于string字符串的基礎知識,也是在java面試中會考察到的,所以希望大家可以好好學習上面的內容,并在實際項目中練習使用string字符串。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習