字符串是字符序列。在Java中,String對象是不可變的,這意味著它是常量,一旦創建就不能更改。
創建字符串
Java中創建字符串有兩種方法:
1. 字符串文字
String s = “GeeksforGeeks”;
2. 使用新的關鍵詞
String s = new String (“GeeksforGeeks”);
Java 中的字符串構造函數
1. 字符串(字節[]byte_arr)
通過解碼構造一個新的字符串字節數組。它使用平台的默認字符集進行解碼。
例子:
byte[] b_arr = {71, 101, 101, 107, 115};
String s_byte =new String(b_arr); //Geeks
2. 字符串(字節[]byte_arr,字符集char_set)
通過解碼構造一個新的字符串字節數組。它使用char_set用於解碼。
例子:
byte[] b_arr = {71, 101, 101, 107, 115};
Charset cs = Charset.defaultCharset();
String s_byte_char = new String(b_arr, cs); //Geeks
3. 字符串(字節[]byte_arr,字符串char_set_name)
通過解碼構造一個新的字符串字節數組。它使用char_set_name用於解碼。它看起來與上麵的結構類似,並且它們出現在類似的函數之前,但它需要字符串(包含char_set_name)作為參數,而上麵的構造函數采用字符集。
例子:
byte[] b_arr = {71, 101, 101, 107, 115};
String s = new String(b_arr, "US-ASCII"); //Geeks
4. 字符串(字節[] byte_arr, int start_index, int長度)
構造一個新字符串字節數組取決於start_index(起始位置)和長度(從起始位置開始的字符數)。
例子:
byte[] b_arr = {71, 101, 101, 107, 115};
String s = new String(b_arr, 1, 3); // eek
5. 字符串(字節[] byte_arr, int start_index, int長度, 字符集char_set)
構造一個新字符串字節數組取決於start_index(起始位置)和長度(從起始位置開始的字符數).用途char_set用於解碼。
例子:
byte[] b_arr = {71, 101, 101, 107, 115};
Charset cs = Charset.defaultCharset();
String s = new String(b_arr, 1, 3, cs); // eek
6. 字符串(字節[] byte_arr, int start_index, int 長度, 字符串char_set_name)
構造一個新字符串字節數組取決於start_index(起始位置)和長度(從起始位置開始的字符數).用途char_set_name用於解碼。
例子:
byte[] b_arr = {71, 101, 101, 107, 115};
String s = new String(b_arr, 1, 4, "US-ASCII"); // eeks
7. 字符串(char[]char_arr)
從給定的字符串中分配一個新的字符串字符數組
例子:
char char_arr[] = {'G', 'e', 'e', 'k', 's'};
String s = new String(char_arr); //Geeks
8. 字符串(char[] char_array, int start_index, int 計數)
從給定的字符串分配字符數組但選擇數數字符來自start_index.
例子:
char char_arr[] = {'G', 'e', 'e', 'k', 's'};
String s = new String(char_arr , 1, 3); //eek
9. String(int[] uni_code_points, int 偏移量, int 計數)
從 a 分配一個字符串uni_code_array但選擇數數字符來自start_index.
例子:
int[] uni_code = {71, 101, 101, 107, 115};
String s = new String(uni_code, 1, 3); //eek
10. 字符串(StringBuffer s_buffer)
從字符串中分配一個新字符串s_buffer
例子:
StringBuffer s_buffer = new StringBuffer("Geeks");
String s = new String(s_buffer); //Geeks
11. 字符串(StringBuilder s_builder)
從字符串中分配一個新字符串s_builder
例子:
StringBuilder s_builder = new StringBuilder("Geeks");
String s = new String(s_builder); //Geeks
Java 中的字符串方法
1.String length()
返回字符串中的字符數。
"GeeksforGeeks".length(); // returns 13
2. String charAt()
返回 i 處的字符thindex。
"GeeksforGeeks".charAt(3); // returns ‘k’
3. 字符串子串(int i)
返回 i 中的子串th 結束索引字符。
"GeeksforGeeks".substring(3); // returns “ksforGeeks”
4. 字符串子串(int i,int j)
返回從 i 到 j-1 索引的子字符串。
"GeeksforGeeks".substring(2, 5); // returns “eks”
5. String concat()
將指定字符串連接到該字符串的末尾。
String s1 = ”Geeks”;
String s2 = ”forGeeks”;
String output = s1.concat(s2); // returns “GeeksforGeeks”
6. String indexOf()
返回指定字符串在字符串中第一次出現的索引。
如果輸入字符串中不存在 String s,則返回 -1 作為默認值。
1. String s = ”Learn Share Learn”;
int output = s.indexOf(“Share”); // returns 62. String s = "Learn Share Learn"
int output = s.indexOf(“Play”); // return -1
7. String indexOf()
返回指定字符串在字符串中第一次出現的索引,從指定索引開始。
String s = ”Learn Share Learn”;
int output = s.indexOf("ea",3);// returns 13
8. Java.lang.String.lastIndexOf()
返回指定字符串最後一次出現的字符串中的索引。
如果輸入字符串中不存在 String s,則返回 -1 作為默認值。
1. String s = ”Learn Share Learn”;
int output = s.lastIndexOf("a"); // returns 142. String s = "Learn Share Learn"
int output = s.indexOf(“Play”); // return -1
9. Boolean equals()
將此字符串與指定對象進行比較。
Boolean out = “Geeks”.equals(“Geeks”); // returns true
Boolean out = “Geeks”.equals(“geeks”); // returns false
10. 布爾值 equalsIgnoreCase (String anotherString)
將字符串與另一個字符串進行比較,忽略大小寫。
Boolean out= “Geeks”.equalsIgnoreCase(“Geeks”); // returns true
Boolean out = “Geeks”.equalsIgnoreCase(“geeks”); // returns true
11.intcompareTo(字符串另一個字符串)
按字典順序比較兩個字符串。
int out = s1.compareTo(s2);
// where s1 and s2 are
// strings to be compared
This returns difference s1-s2. If :
out < 0 // s1 comes before s2
out = 0 // s1 and s2 are equal.
out > 0 // s1 comes after s2.
12. String compareTo()
按字典順序比較兩個字符串,忽略大小寫。
int out = s1.compareToIgnoreCase(s2);
// where s1 and s2 are
// strings to be compared
This returns difference s1-s2. If :
out < 0 // s1 comes before s2
out = 0 // s1 and s2 are equal.
out > 0 // s1 comes after s2.
Note: In this case, it will not consider case of a letter (it will ignore whether it is uppercase or lowercase).
13. String toLowerCase()
將字符串中的所有字符轉換為小寫。
String word1 = “HeLLo”;
String word3 = word1.toLowerCase(); // returns “hello"
14. 字符串toUpperCase()
將字符串中的所有字符轉換為大寫。
String word1 = “HeLLo”;
String word2 = word1.toUpperCase(); // returns “HELLO”
15. String trim()
通過刪除兩端的空格來返回字符串的副本。它不影響中間的空白。
String word1 = “ Learn Share Learn “;
String word2 = word1.trim(); // returns “Learn Share Learn”
16.Java.lang.string.replace()
通過替換所有出現的地方返回新字符串老查爾和新字符。
String s1 = “feeksforfeeks“;
String s2 = “feeksforfeeks”.replace(‘f’ ,’g’); // returns “geeksforgeeks”
Note: s1 is still feeksforfeeks and s2 is geeksgorgeeks
17. String contains()
如果 string contains 包含給定字符串,則返回 true
String s1="geeksforgeeks";
String s2="geeks";
s1.contains(s2) // return true
18. String toCharArray()
將此字符串轉換為新的字符數組。
String s1="geeksforgeeks";
char []ch=s1.toCharArray(); // returns [ 'g', 'e' , 'e' , 'k' , 's' , 'f', 'o', 'r' , 'g' , 'e' , 'e' , 'k' ,'s' ]
19.String startswith()
如果字符串以此前綴開頭,則返回 true。
String s1="geeksforgeeks";
String s2="geeks";
s1.startsWith(s2) // return true
字符串構造函數和字符串方法的示例
下麵是上述主題的實現:
// Java code to illustrate different constructors and methods
// String class.
import java.io.*;
import java.util.*;
// Driver Class
class Test
{
// main function
public static void main (String[] args)
{
String s= "GeeksforGeeks";
// or String s= new String ("GeeksforGeeks");
// Returns the number of characters in the String.
System.out.println("String length = " + s.length());
// Returns the character at ith index.
System.out.println("Character at 3rd position = "
+ s.charAt(3));
// Return the substring from the ith index character
// to end of string
System.out.println("Substring " + s.substring(3));
// Returns the substring from i to j-1 index.
System.out.println("Substring = " + s.substring(2,5));
// Concatenates string2 to the end of string1.
String s1 = "Geeks";
String s2 = "forGeeks";
System.out.println("Concatenated string = " +
s1.concat(s2));
// Returns the index within the string
// of the first occurrence of the specified string.
String s4 = "Learn Share Learn";
System.out.println("Index of Share " +
s4.indexOf("Share"));
// Returns the index within the string of the
// first occurrence of the specified string,
// starting at the specified index.
System.out.println("Index of a = " +
s4.indexOf('a',3));
// Checking equality of Strings
Boolean out = "Geeks".equals("geeks");
System.out.println("Checking Equality " + out);
out = "Geeks".equals("Geeks");
System.out.println("Checking Equality " + out);
out = "Geeks".equalsIgnoreCase("gEeks ");
System.out.println("Checking Equality " + out);
//If ASCII difference is zero then the two strings are similar
int out1 = s1.compareTo(s2);
System.out.println("the difference between ASCII value is="+out1);
// Converting cases
String word1 = "GeeKyMe";
System.out.println("Changing to lower Case " +
word1.toLowerCase());
// Converting cases
String word2 = "GeekyME";
System.out.println("Changing to UPPER Case " +
word2.toUpperCase());
// Trimming the word
String word4 = " Learn Share Learn ";
System.out.println("Trim the word " + word4.trim());
// Replacing characters
String str1 = "feeksforfeeks";
System.out.println("Original String " + str1);
String str2 = "feeksforfeeks".replace('f' ,'g') ;
System.out.println("Replaced f with g -> " + str2);
}
}
輸出
String length = 13 Character at 3rd position = k Substring ksforGeeks Substring = eks Concatenated string = GeeksforGeeks Index of Share 6 Index of a = 8 Checking Equality false Checking Equality ...
對於Set-2您可以參考:Java 中的 Java.lang.String 類 |套裝2
本文由拉胡爾·阿格拉瓦爾 (Rahul Agrawal) 和我們樂於助人的用戶。
相關用法
- Java String compareToIgnoreCase()用法及代碼示例
- Java String compareTo()用法及代碼示例
- Java String split()用法及代碼示例
- Java String length()用法及代碼示例
- Java String replace()用法及代碼示例
- Java String replaceAll()用法及代碼示例
- Java String substring()用法及代碼示例
- Java String equals()用法及代碼示例
- Java String equalsIgnoreCase()用法及代碼示例
- Java String contains()用法及代碼示例
- Java String indexOf()用法及代碼示例
- Java String trim()用法及代碼示例
- Java String charAt()用法及代碼示例
- Java String toLowerCase()用法及代碼示例
- Java String concat()用法及代碼示例
- Java String valueOf()用法及代碼示例
- Java String matches()用法及代碼示例
- Java String startsWith()用法及代碼示例
- Java String endsWith()用法及代碼示例
- Java String isEmpty()用法及代碼示例
- Java String intern()用法及代碼示例
- Java String getBytes()用法及代碼示例
- Java String contentEquals()用法及代碼示例
- Java String hashCode()用法及代碼示例
- Java String join()用法及代碼示例
注:本文由純淨天空篩選整理自佚名大神的英文原創作品 String class in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。