Java基礎 String
阿新 • • 發佈:2020-12-12
String類
-
字串是一個特殊的物件。
-
字串一旦初始化就不可以被改變。
String s="abc";//建立一個字串物件在常量池中
String s1=new String("abc");//建立了兩個物件,一個new字串物件在堆記憶體中。類比new一個物件的記憶體圖
特點:
-
字串物件一旦被初始化就不會改變。
-
字串常量池沒有就建立;池中有,直接使用。共享
String建構函式
主要幾個String建構函式
String(byte[] bytes){}//位元組型
String(byte[] bytes,int offset,int length){}
String(char[] arr){}//字元陣列
String(char[] arr,int offset,int count){}
常見功能
獲取
1、獲取字串中字元的個數(長度)
int length();
2、根據位置獲取字元
char charAt(int index);
3、根據字元(字串)獲取字串中第一次出現的位置。從前往後查
1. int indexOf(int ch);
2. int indexOf(int ch,int fromIndex); //從指定位置對ch進行查詢
3. int indexOf(String str);
4. int indexOf(String str,int fromIndex);
4、根據字元(字串)獲取字串中第一次出現的位置。從後往前查
1. int lastIndexOf(int ch);
2. int lastIndexOf(int ch,int fromIndex);
3. int lastIndexOf(String str);
4. int lastIndexOf(String str,int fromIndex);
5、獲取字串中一部分字串,子串
String substring(int beginIndex, int endIndex);//左閉右開。(要begin不要end)
String substring(int beginIdex);
轉換
1、將字串轉換成字串陣列(切割)
String[] split(String regex);//涉及到正則表示式
2、將字串轉換成字元(char)陣列
char[] toCharArray();
3、將字串轉換成位元組陣列
byte[] getBytes();
4、將字串中的字母轉換成大小寫
String toUpperCase();//大寫
String toLowerCase();//小寫
5、將字串中的內容進行替換
String replace(char oldChar,char nowChar);
String replace(String s1,String s2);
6、將字串兩端空格去除
String trim();
7、將字串進行連線
String concat(String str);
判斷
1、兩個字串內容是否相同
boolean equals(Object obj);
boolean equalsIgnoreCase(String str); //忽略大小寫比較字串內容
2、字串中是否包含指定字串
boolean contains(String str);
3、字串是否以指定字串開頭,或結尾
boolean startsWith(String str);//開頭
boolean endsWith(String str);//結尾
比較
按字典順序比較兩個字串
int compareTo(String anotherString)
字串物件的規範化表示
String intern();
事例:
String t=new String("abc");//new一個String物件,在堆記憶體中
t.intern();//將"abc"新增進字串池中