一文带你吃透Java中的String类
介绍
在Java中,String类代表一个字符串。常用的字符串操作都可以通过String类提供的方法来实现。本文将详细讲解Java中的String类,包括创建字符串、字符串的常用方法以及字符串的不可变性等。通过本文的学习,读者将能够深入了解Java中的字符串操作。
创建字符串
创建字符串有两种方式:直接使用字符串字面量或使用String类的构造函数。
使用字符串字面量创建字符串
Java中可以使用字符串字面量创建字符串,字符串字面量是由一对双引号(")括起来的字符序列,例如:
String str1 = "Hello, world!";
使用构造函数创建字符串
使用String类的构造函数也可以创建字符串,例如:
char[] charArray = {'H', 'e', 'l', 'l', 'o'};
String str2 = new String(charArray);
字符串的常用方法
String类提供了许多常用的字符串方法,下面我们介绍一些常用的方法。
length()方法
length()方法用于获取字符串的长度,例如:
String str = "Hello, world!";
int length = str.length(); // length的值为13
charAt()方法
charAt()方法用于获取字符串中指定位置的字符,例如:
String str = "Hello, world!";
char ch = str.charAt(1); // ch的值为'e'
indexOf()方法
indexOf()方法用于获取字符串中指定字符或子串的位置,例如:
String str = "Hello, world!";
int index1 = str.indexOf('o'); // index1的值为4
int index2 = str.indexOf("world"); // index2的值为7
substring()方法
substring()方法用于获取字符串的子串,例如:
String str = "Hello, world!";
String subStr1 = str.substring(7); // subStr1的值为"world!"
String subStr2 = str.substring(0, 5); // subStr2的值为"Hello"
字符串的不可变性
String类中的字符串是不可变的,也就是说,一旦创建了一个字符串对象,就不能修改它的值。例如:
String str = "Hello";
str += ", world!";
在上面的例子中,虽然看起来像是修改了字符串的值,但实际上是创建了一个新的字符串对象,并将str引用指向了这个新的对象。
示例说明
下面是两个关于字符串的示例:
示例1:判断字符串是否为回文字符串
public static boolean isPalindrome(String str) {
int i = 0, j = str.length() - 1;
while (i < j) {
if (str.charAt(i) != str.charAt(j)) {
return false;
}
i++;
j--;
}
return true;
}
// 测试代码
String str = "madam";
if (isPalindrome(str)) {
System.out.println(str + "是回文字符串");
} else {
System.out.println(str + "不是回文字符串");
}
示例2:截取字符串中的数字并求和
public static int getSumOfNumbers(String str) {
int sum = 0;
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
if (Character.isDigit(ch)) {
int num = Character.getNumericValue(ch);
sum += num;
}
}
return sum;
}
// 测试代码
String str = "abc123xyz456";
int sum = getSumOfNumbers(str);
System.out.println(str + "中数字的和为:" + sum);
总结
本文详细介绍了Java中的String类,包括字符串的创建、常用方法以及字符串的不可变性。同时,本文也给出了两个关于字符串的示例,希望读者通过本文的学习,能够深入理解Java中的字符串操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一文带你吃透Java中的String类 - Python技术站