Java - 字符串类
在 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 对象就无法更改。如果需要对字符串进行大量修改,那么你应该使用 String Buffer &String Builder Classes。
字符串长度
用于获取对象信息的方法称为访问器方法 .可以对字符串使用的一种访问器方法是 length() 方法,它返回字符串对象中包含的字符数。
以下程序是 length() 的示例 ,方法String类。
示例
现场演示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. | 方法和说明 |
---|---|
1 | char charAt(int index) 返回指定索引处的字符。 |
2 | int compareTo(对象 o) 将此字符串与另一个对象进行比较。 |
3 | int compareTo(String anotherString) 按字典顺序比较两个字符串。 |
4 | int compareToIgnoreCase(String str) 按字典顺序比较两个字符串,忽略大小写差异。 |
5 | 字符串连接(String str) 将指定字符串连接到此字符串的末尾。 |
6 | boolean contentEquals(StringBuffer sb) 当且仅当此 String 表示与指定 StringBuffer 相同的字符序列时,才返回 true。 |
7 | 静态字符串 copyValueOf(char[] 数据) 返回一个字符串,表示指定数组中的字符序列。 |
8 | static String copyValueOf(char[] data, int offset, int count) 返回一个字符串,表示指定数组中的字符序列。 |
9 | boolean endsWith(字符串后缀) 测试此字符串是否以指定的后缀结尾。 |
10 | 布尔等于(Object anObject) 将此字符串与指定对象进行比较。 |
11 | boolean equalsIgnoreCase(String anotherString) 将此字符串与另一个字符串进行比较,忽略大小写。 |
12 | 字节[] getBytes() 使用平台的默认字符集将此字符串编码为字节序列,并将结果存储到新的字节数组中。 |
13 | byte[] getBytes(String charsetName) 使用命名字符集将此字符串编码为字节序列,并将结果存储到新的字节数组中。 |
14 | void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 将此字符串中的字符复制到目标字符数组中。 |
15 | int hashCode() 返回此字符串的哈希码。 |
16 | int indexOf(int ch) 返回此字符串中第一次出现指定字符的索引。 |
17 | int indexOf(int ch, int fromIndex) 返回此字符串中第一次出现指定字符的索引,从指定索引处开始搜索。 |
18 | int indexOf(String str) 返回此字符串中第一次出现指定子字符串的索引。 |
19 | int indexOf(String str, int fromIndex) 返回此字符串中第一次出现指定子字符串的索引,从指定索引开始。 |
20 | 字符串实习生() 返回字符串对象的规范表示。 |
21 | int lastIndexOf(int ch) 返回此字符串中指定字符最后一次出现的索引。 |
22 | int lastIndexOf(int ch, int fromIndex) 返回此字符串中指定字符最后一次出现的索引,从指定索引开始向后搜索。 |
23 | int lastIndexOf(String str) 返回此字符串中指定子字符串最右边出现的索引。 |
24 | int lastIndexOf(String str, int fromIndex) 返回此字符串中指定子字符串最后一次出现的索引,从指定索引开始向后搜索。 |
25 | int 长度() 返回此字符串的长度。 |
26 | 布尔匹配(字符串正则表达式) 判断这个字符串是否匹配给定的正则表达式。 |
27 | boolean regionMatches(boolean ignoreCase, int tooffset, String other, int ooffset, int len) 测试两个字符串区域是否相等。 |
28 | boolean regionMatches(int tooffset, String other, int ooffset, int len) 测试两个字符串区域是否相等。 |
29 | 字符串替换(char oldChar, char newChar) 返回一个新字符串,该字符串是用 newChar 替换此字符串中所有出现的 oldChar。 |
30 | String replaceAll(字符串正则表达式,字符串替换 用给定的替换替换此字符串中与给定正则表达式匹配的每个子字符串。 |
31 | String replaceFirst(字符串正则表达式,字符串替换) 用给定的替换替换此字符串中与给定正则表达式匹配的第一个子字符串。 |
32 | String[] 拆分(字符串正则表达式) 围绕给定正则表达式的匹配拆分此字符串。 |
33 | String[] 拆分(字符串正则表达式,int 限制) 围绕给定正则表达式的匹配拆分此字符串。 |
34 | boolean startsWith(字符串前缀) 测试此字符串是否以指定的前缀开头。 |
35 | boolean startsWith(字符串前缀,int tooffset) 测试此字符串是否以指定索引开头的指定前缀开头。 |
36 | CharSequence subSequence(int beginIndex, int endIndex) 返回一个新的字符序列,它是这个序列的子序列。 |
37 | 字符串子字符串(int beginIndex) 返回一个新字符串,它是该字符串的子字符串。 |
38 | 字符串子字符串(int beginIndex,int endIndex) 返回一个新字符串,它是该字符串的子字符串。 |
39 | char[] toCharArray() 将此字符串转换为新的字符数组。 |
40 | 字符串 toLowerCase() 使用默认语言环境的规则将此字符串中的所有字符转换为小写。 |
41 | String toLowerCase(Locale locale) 使用给定语言环境的规则将此字符串中的所有字符转换为小写。 |
42 | 字符串 toString() 这个对象(它已经是一个字符串了!)本身就是返回的。 |
43 | 字符串 toUpperCase() 使用默认语言环境的规则将此字符串中的所有字符转换为大写。 |
44 | String toUpperCase(Locale locale) 使用给定语言环境的规则将此字符串中的所有字符转换为大写。 |
45 | 字符串修剪() 返回字符串的副本,省略前导和尾随空格。 |
46 | static String valueOf(原始数据类型 x) 返回传递的数据类型参数的字符串表示形式。 |
java