摘要:創建的對象一旦初始化,其內容不可被改變。類復寫了類中的定義了自己的獨特內容,該方法用于判斷字符串相同。如結果將是,即和指向了同一個對象。常見方法獲取字符串長度。返回指定索引處字符。
String類概述
該類被final修飾,無子類,不可被復寫。創建的對象一旦初始化,其內容不可被改變。
String類復寫了Object類中的equals()定義了自己的獨特內容,該方法用于判斷字符串相同。
例:
String s1 = "abc"; String s2 = new String("abc"); System.out.println(s1==s2); System.out.println(s1.equals(s2));
結果顯示
false
true
面試中??迹哼@里的s1,s2有何區別?
s1在內存中一個對象,s2有兩個對象。因為內存中有一個常量池存放字符串。字符串被存放進去以后,以后創建新的字符串時會優先在常量池中尋找并組合而成,而s2是創建一個全新的字符串。如:
String s1 = "abc"; String s3 = "abc"; System.out.println(s1==s2);
結果將是true,即s1和s3指向了同一個對象。
常見方法
1.獲取1.1 字符串長度。
int length():獲取長度。
1.2 根據位置獲取位置上的某個字符。
char charAt(int index) :返回指定索引處字符。
1.3 根據字符獲取該字符在字符串中的位置。如果沒有找到返回-1.
int indexOf(int ch):找到該字符第一次出現的位置 int indexOf(int ch,int fromIndex):從fromIndex處開始索引。 int indexOf(String str) int indexOf(String str,int fromIndex):從fromIndex檢索字符串str的位置。
相反的,如果需要反向索引,有類似方法
int lastIndexOf(*) 從右往左索引,然后**輸出其在字符串數組中的位置**2.判斷
2.1 字符串中是否包含某一個子串。
boolean contains(CharSequence str);
★特殊之處:int indexOf(str)也可以檢索str是否存在。
2.2 字符串中是否有內容。
boolean isEmpty():原理就是判斷length是否為0
2.3 字符串是否是以指定內容開頭。
boolean startWith(String str);
2.4 字符串是否是以指定內容結尾
boolean startWith(String str);
應用場景:通過判斷文件名檢索所需要的文件
2.5 判斷字符串內容是否相同
boolean equals(str)
2.6 判斷內容是否相同并忽略大小寫
boolean equalsIgnoreCase(str)3.轉換
3.1 將字符數組轉成字符串
構造函數
String(char[]) String(char[],offset,count)將字符數組一部分轉成字符串
例:
char[] arr = {"a","b","c","d","e","f"}; String s = new String(arr,1,3);
結果將是 bcd.因為數組下角標從0開始,故這里起始位是b,取3個字符,即為bcd.
靜態方法:需要跟在String后使用
static String copyValueOf(char[]); static String copyValueOf(char[],offset,count);
3.2 將字符串轉成字符數組
char[] toCharArray();
3.3 將字節數組轉成字符串
String(byte[]); String(byte[],offset,count);
3.4 將字符串轉成字節數組
byte[] getBytes();
3.5 將基本數據類型轉成字符串
static Sting valueOf();
特殊:字符串和字節數組在轉換過程中是可以指定編碼表的
4.替換String replace(old char/str,new char/str);
注意:由于字符串一旦被創建不能被改變,所以這里的替換后將會返回一個新字符串副本,而原來的字符串不會有變換
5.切割String[] split(regex) 以regex為分割符號進行分割6.子串
String substring(begin);從指定出開始到結尾 String substring(begin,end);從begin處開始到end處結束,之間的子串。**包括begin但不包括end.**
例
String s = "abcdef"; s1 = s.substring(2); s2 = s.substring(2,4);
結果s1=cdef,s2=cd。
7.轉換7.1 將字符串轉成大寫或者小寫
String toUpperCase(); String toLowerCase();
7.2 將字符串兩端多個空格去除
String trim();
7.3 對兩個字符串進行自然順序的比較
int compareTo(str);**比較兩個字符串大小,并返回第一個不同的字符之間的ASCII碼值差值。**
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/66329.html
摘要:案例演示抽象類的成員特點抽象類的成員方法特性抽象方法強制要求子類做的事情。抽象類中定義的是該繼承體系的共性功能。 1.多態的概述及其成員訪問特點代碼體現 A:多態(polymorphic)概述 事物存在的多種形態 B:多態前提- 1.要有繼承關系 2.要有方法重寫 3.要有父類引用指向子類對象。 C:多態中的成員訪問特點之 成員變量:編譯和運行都看父類。 成員方法:編...
摘要:基礎問題的的性能及原理之區別詳解備忘筆記深入理解流水線抽象關鍵字修飾符知識點總結必看篇中的關鍵字解析回調機制解讀抽象類與三大特征時間和時間戳的相互轉換為什么要使用內部類對象鎖和類鎖的區別,,優缺點及比較提高篇八詳解內部類單例模式和 Java基礎問題 String的+的性能及原理 java之yield(),sleep(),wait()區別詳解-備忘筆記 深入理解Java Stream流水...
摘要:基礎問題的的性能及原理之區別詳解備忘筆記深入理解流水線抽象關鍵字修飾符知識點總結必看篇中的關鍵字解析回調機制解讀抽象類與三大特征時間和時間戳的相互轉換為什么要使用內部類對象鎖和類鎖的區別,,優缺點及比較提高篇八詳解內部類單例模式和 Java基礎問題 String的+的性能及原理 java之yield(),sleep(),wait()區別詳解-備忘筆記 深入理解Java Stream流水...
摘要:基礎問題的的性能及原理之區別詳解備忘筆記深入理解流水線抽象關鍵字修飾符知識點總結必看篇中的關鍵字解析回調機制解讀抽象類與三大特征時間和時間戳的相互轉換為什么要使用內部類對象鎖和類鎖的區別,,優缺點及比較提高篇八詳解內部類單例模式和 Java基礎問題 String的+的性能及原理 java之yield(),sleep(),wait()區別詳解-備忘筆記 深入理解Java Stream流水...
閱讀 1299·2021-11-15 11:37
閱讀 3495·2021-11-11 16:55
閱讀 1741·2021-08-25 09:39
閱讀 3207·2019-08-30 15:44
閱讀 1729·2019-08-29 12:52
閱讀 1397·2019-08-29 11:10
閱讀 3230·2019-08-26 11:32
閱讀 3216·2019-08-26 10:16