java String的用法
String類別在java.lang套件中,java使用String類別建立一個字符串變數,字串變數屬於物件。 java把String類別宣告的final類,不能有子類別。 String類別物件建立後不能修改,由0或多個字元組成,包含在一對雙引號之間,下面簡單的熟悉一下其常用的API
java.lang.String char charAt (int index) 返回index所指定的字符 String concat(String str) 将两字符串连接 boolean endsWith(String str) 测试字符串是否以str结尾 boolean equals(Object obj) 比较两对象 char[] getBytes 将字符串转换成字符数组返回 char[] getBytes(String str) 将指定的字符串转成制服数组返回 boolean startsWith(String str) 测试字符串是否以str开始 int length() 返回字符串的长度 String replace(char old ,char new) 将old用new替代 char[] toCharArray 将字符串转换成字符数组 String toLowerCase() 将字符串内的字符改写成小写 String toUpperCase() 将字符串内的字符改写成大写 String valueOf(Boolean b) 将布尔方法b的内容用字符串表示 String valueOf(char ch) 将字符ch的内容用字符串表示 String valueOf(int index) 将数字index的内容用字符串表示 String valueOf(long l) 将长整数字l的内容用字符串表示 String substring(int1,int2) 取出字符串内第int1位置到int2的字符串
1.建構方法
//直接初始化 String str = "abc"; //使用带参构造方法初始化 char[] char = {'a','b','c'}; String str1 = new String("abc");String str2 = new String(str); String str3 = new String(char);
2.求字串長度和某一位置字元
String str = new String("abcdef"); int strlength = str.length();//strlength = 7 char ch = str.charAt(4);//ch = e
3.提取子字串
用String類別的substring方法可以提取字串中的子字串,該方法有兩種常用參數:
1)public String substring(int beginIndex)//該方法從beginIndex位置起,從目前字串中取出剩餘的字元作為一個新的字串返回。
2)public String substring(int beginIndex, int endIndex)//該方法從beginIndex位置起,從目前字串中取出到endIndex-1位置的字元以新的字串傳回。
String str1 = new String("abcdef"); String str2 = str1.substring(2);//str2 = "cdef" String str3 = str1.substring(2,5);//str3 = "cde"
4.字串比較
1)public int compareTo(String anotherString)//該方法是對字串內容按字典順序進行大小比較,透過傳回的整數值指明目前字串與參數字串的大小關係。若目前物件比參數大則回傳正整數,反之回傳負整數,相等回傳0。
2)public int compareToIgnoreCase(String anotherString)//與compareTo方法相似,但忽略大小寫。
3)public boolean equals(Object anotherObject)//比較目前字串和參數字串,在兩個字串相等的時候傳回true,否則回傳false。
4)public boolean equalsIgnoreCase(String anotherString)//與equals方法相似,但忽略大小寫。
String str1 = new String("abc"); String str2 = new String("ABC"); int a = str1.compareTo(str2);//a>0 int b = str1.compareToIgnoreCase(str2);//b=0 boolean c = str1.equals(str2);//c=false boolean d = str1.equalsIgnoreCase(str2);//d=true
5.字串連結
public String concat(String str)//将参数中的字符串str连接到当前字符串的后面,效果等价于"+" String str = "aa".concat("bb").concat("cc"); //相当于String str = "aa"+"bb"+"cc";
#6.字串中單一字元尋找
1)public int indexOf (int ch/String str)//用於尋找目前字串中字元或子字串,傳回字元或子字串在目前字串中從左邊起首次出現的位置,若沒有出現則傳回-1。
2)public int indexOf(int ch/String str, int fromIndex)//改方法與第一種類似,差別在於該方法從fromIndex位置向後尋找。
3)public int lastIndexOf(int ch/String str)//此方法與第一種類似,差異在於該方法從字串的末端位置向前尋找。
4)public int lastIndexOf(int ch/String str, int fromIndex)//該方法與第二種方法類似,區別於該方法從fromIndex位置向前找到。
String str = "I really miss you !"; int a = str.indexOf('a');//a = 4 int b = str.indexOf("really");//b = 2 int c = str.indexOf("gg",2);//c = -1 int d = str.lastIndexOf('s');//d = 6 int e = str.lastIndexOf('s',7);//e = 7
7.大小寫轉換
1)public String toLowerCase()//傳回將目前字串中所有字元轉換成小寫後的新字串
2)public String toUpperCase()//傳回將目前字串中所有字元轉換成大寫後的新字串
String str = new String("abCD"); String str1 = str.toLowerCase();//str1 = "abcd" String str2 = str.toUpperCase();//str2 = "ABCD"
8.字串中字元的替換
1)public String replace(char oldChar, char newChar)//用字元newChar取代目前字串中所有的oldChar字符,並傳回一個新的字串。
2)public String replaceFirst(String regex, String replacement)//該方法以字元replacement的內容取代目前字串中遇到的第一個和字串regex相符的子字串,應將新的字串返回。
3)public String replaceAll(String regex, String replacement)//該方法用字元replacement的內容取代目前字串中遇到的所有和字串regex相符的子字串,應將新的字串返回。
String str = "asdzxcasd"; String str1 = str.replace('a','g');//str1 = "gsdzxcgsd" String str2 = str.replace("asd","fgh");//str2 = "fghzxcfgh" String str3 = str.replaceFirst("asd","fgh");//str3 = "fghzxcasd" String str4 = str.replaceAll("asd","fgh");//str4 = "fghzxcfgh"
9.其他方法
1)String trim()//截斷字串兩端的空格,但對於中間的空格不處理。
String str = " a bc "; String str1 = str.trim(); int a = str.length();//a = 6 int b = str1.length();//b = 4
2)boolean statWith(String prefix)或boolean endWith(String suffix)//用來比較目前字串的起始字元或子字串prefix和終止字元或子字串suffix是否和當前字串相同,在重載方法中同時也可以指定比較的起始位置offset。
String str = "abcdef"; boolean a = str.statWith("ab");//a = true boolean b = str.endWith("ef");//b = true
3)contains(String str)//判斷參數s是否被包含在字串中,並傳回一個布林類型的值。
String str = "abcdef"; str.contains("ab");//true str.contains("gh");//false
4)String[] split(String str)//將str當作分隔符號進行字串分解,分解後的字字串在字串陣列中傳回。
String str = "abc def ghi"; String[] str1 = str.split(" ");//str1[0] = "abc";str1[1] = "def";str1[2] = "ghi";
10.型別轉換
字串轉基本型別
java.lang套件中有Byte、Short、Integer、Float 、Double類別的呼叫方法:
public static byte parseByte(String s) public static short parseShort(String s) public static short parseInt(String s) public static long parseLong(String s) public static float parseFloat(String s) public static double parseDouble(String s) int n = Integer.parseInt("12"); float f = Float.parseFloat("12.34"); double d = Double.parseDouble("1.124");
基本型別轉字串
String類別中提供了String valueOf()放法,用作基本型別轉換為字串型別
static String valueOf(char data[]) static String valueOf(char data[], int offset, int count) static String valueOf(boolean b) static String valueOf(char c) static String valueOf(int i) static String valueOf(long l) static String valueOf(float f) static String valueOf(double d) //将char '8' 转换为int 8 String str = String.valueOf('8'); int num = Integer.parseInt(str);
進位轉換
使用Long類別中的方法得到整數之間的各種進位轉換的方法:
Long.toBinaryString(long l)//二进制 Long.toOctalString(long l)//十进制 Long.toHexString(long l)//十六进制 Long.toString(long l, int p)//p作为任意进制
相關學習推薦:java基礎教程
以上是java string怎麼使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!