📅  最后修改于: 2020-11-15 04:18:09             🧑  作者: Mango
在Java编程中广泛使用的字符串是字符序列。在Java编程语言中,字符串被视为对象。
Java平台提供String类来创建和操作字符串。
创建字符串的最直接方法是编写-
String greeting = "Hello world!";
每当在代码中遇到字符串字面量时,编译器都会创建一个String对象,其值在这种情况下为“ Hello world!”。
与其他任何对象一样,您可以使用new关键字和构造函数来创建String对象。 String类具有11个构造函数,可让您使用不同的来源(例如,字符数组)提供字符串的初始值。
public class StringDemo {
public static void main(String args[]) {
char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.' };
String helloString = new String(helloArray);
System.out.println( helloString );
}
}
这将产生以下结果-
hello.
注– String类是不可变的,因此一旦创建它,就不能更改String对象。如果有必要做出了很多修改的字符的字符串,那么你应该使用字符串缓冲区和字符串构建类。
用于获取有关对象的信息的方法称为访问器方法。可以与字符串使用的一种访问器方法是length()方法,该方法返回字符串对象中包含的字符数。
以下程序是String类的length()方法的示例。
public class StringDemo {
public static void main(String args[]) {
String palindrome = "Dot saw I was Tod";
int len = palindrome.length();
System.out.println( "String Length is : " + len );
}
}
这将产生以下结果-
String Length is : 17
String类包括用于连接两个字符串的方法-
string1.concat(string2);
这将返回一个新字符串,该字符串为string1,最后添加了string2。您还可以将concat()方法与字符串字面量,如-
"My name is ".concat("Zara");
字符串通常与+连接在一起。运算符,如-
"Hello," + " world" + "!"
这导致-
"Hello, world!"
让我们看下面的例子-
public class StringDemo {
public static void main(String args[]) {
String string1 = "saw I was ";
System.out.println("Dot " + string1 + "Tod");
}
}
这将产生以下结果-
Dot saw I was Tod
您可以使用printf()和format()方法来打印带有格式化数字的输出。 String类具有等效的类方法format(),该方法返回String对象而不是PrintStream对象。
通过使用String的静态format()方法,您可以创建可重复使用的格式化字符串,而不是一次性打印语句。例如,代替-
System.out.printf("The value of the float variable is " +
"%f, while the value of the integer " +
"variable is %d, and the string " +
"is %s", floatVar, intVar, stringVar);
你可以写-
String fs;
fs = String.format("The value of the float variable is " +
"%f, while the value of the integer " +
"variable is %d, and the string " +
"is %s", floatVar, intVar, stringVar);
System.out.println(fs);
这是String类支持的方法列表-
Sr.No. | Method & Description |
---|---|
1 | char charAt(int index)
Returns the character at the specified index. |
2 | int compareTo(Object o)
Compares this String to another Object. |
3 | int compareTo(String anotherString)
Compares two strings lexicographically. |
4 | int compareToIgnoreCase(String str)
Compares two strings lexicographically, ignoring case differences. |
5 | String concat(String str)
Concatenates the specified string to the end of this string. |
6 | boolean contentEquals(StringBuffer sb)
Returns true if and only if this String represents the same sequence of characters as the specified StringBuffer. |
7 | static String copyValueOf(char[] data)
Returns a String that represents the character sequence in the array specified. |
8 | static String copyValueOf(char[] data, int offset, int count)
Returns a String that represents the character sequence in the array specified. |
9 | boolean endsWith(String suffix)
Tests if this string ends with the specified suffix. |
10 | boolean equals(Object anObject)
Compares this string to the specified object. |
11 | boolean equalsIgnoreCase(String anotherString)
Compares this String to another String, ignoring case considerations. |
12 | byte[] getBytes()
Encodes this String into a sequence of bytes using the platform’s default charset, storing the result into a new byte array. |
13 | byte[] getBytes(String charsetName)
Encodes this String into a sequence of bytes using the named charset, storing the result into a new byte array. |
14 | void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
Copies characters from this string into the destination character array. |
15 | int hashCode()
Returns a hash code for this string. |
16 | int indexOf(int ch)
Returns the index within this string of the first occurrence of the specified character. |
17 | int indexOf(int ch, int fromIndex)
Returns the index within this string of the first occurrence of the specified character, starting the search at the specified index. |
18 | int indexOf(String str)
Returns the index within this string of the first occurrence of the specified substring. |
19 | int indexOf(String str, int fromIndex)
Returns the index within this string of the first occurrence of the specified substring, starting at the specified index. |
20 | String intern()
Returns a canonical representation for the string object. |
21 | int lastIndexOf(int ch)
Returns the index within this string of the last occurrence of the specified character. |
22 | int lastIndexOf(int ch, int fromIndex)
Returns the index within this string of the last occurrence of the specified character, searching backward starting at the specified index. |
23 | int lastIndexOf(String str)
Returns the index within this string of the rightmost occurrence of the specified substring. |
24 | int lastIndexOf(String str, int fromIndex)
Returns the index within this string of the last occurrence of the specified substring, searching backward starting at the specified index. |
25 | int length()
Returns the length of this string. |
26 | boolean matches(String regex)
Tells whether or not this string matches the given regular expression. |
27 | boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
Tests if two string regions are equal. |
28 | boolean regionMatches(int toffset, String other, int ooffset, int len)
Tests if two string regions are equal. |
29 | String replace(char oldChar, char newChar)
Returns a new string resulting from replacing all occurrences of oldChar in this string with newChar. |
30 | String replaceAll(String regex, String replacement
Replaces each substring of this string that matches the given regular expression with the given replacement. |
31 | String replaceFirst(String regex, String replacement)
Replaces the first substring of this string that matches the given regular expression with the given replacement. |
32 | String[] split(String regex)
Splits this string around matches of the given regular expression. |
33 | String[] split(String regex, int limit)
Splits this string around matches of the given regular expression. |
34 | boolean startsWith(String prefix)
Tests if this string starts with the specified prefix. |
35 | boolean startsWith(String prefix, int toffset)
Tests if this string starts with the specified prefix beginning a specified index. |
36 | CharSequence subSequence(int beginIndex, int endIndex)
Returns a new character sequence that is a subsequence of this sequence. |
37 | String substring(int beginIndex)
Returns a new string that is a substring of this string. |
38 | String substring(int beginIndex, int endIndex)
Returns a new string that is a substring of this string. |
39 | char[] toCharArray()
Converts this string to a new character array. |
40 | String toLowerCase()
Converts all of the characters in this String to lower case using the rules of the default locale. |
41 | String toLowerCase(Locale locale)
Converts all of the characters in this String to lower case using the rules of the given Locale. |
42 | String toString()
This object (which is already a string!) is itself returned. |
43 | String toUpperCase()
Converts all of the characters in this String to upper case using the rules of the default locale. |
44 | String toUpperCase(Locale locale)
Converts all of the characters in this String to upper case using the rules of the given Locale. |
45 | String trim()
Returns a copy of the string, with leading and trailing whitespace omitted. |
46 | static String valueOf(primitive data type x)
Returns the string representation of the passed data type argument. |