字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。String类是不可改变的,所以一旦创建了 String 对象,那它的值就无法改变了。本章主要总结Sring类中常用的方法。
1、获取字符串的长度
length():
String str = "abcdefg";
System.out.println(str.length());
输出结果:
length() 方法是针对字符串来说的,要求一个字符串的长度就要用到它的length()方法。
2、字符串比较
(1)、equals(0bject other):
如果字符串与 other 相等, 返回 true。
注意:
在这里为什么不用 == ,而用equals呢?
“==” 比较的是地址,而equals比较的确实字符串内容是否相同,而在我们使用的时候只需要比较内容即可。
(后面的博客会详细介绍这一点,比如说什么时候会有地址相同的情况)。
public class Test {
public static void main(String[] args) {
String str = "abcdef";
String str1 = "abc";
System.out.println(str .equals(str1) );
}
}
运行结果:
(2)、equalsIgnoreCase(): 如果字符串与 other 相等 ( 忽略大小写), 返回 true。
3、字符串拼接
(1)、“+”操作符:
String str = "abcdefg";
String str1 = "123";
String str2 = str + str1;
System.out.println(str2);
输出结果如下:
(2)、concat() 方法:
String str = "abcdefg123";
System.out.println(str2.concat("456"));
4、返回给定位置的代码单元
charAt (int index):
public class Test {
public static void main(String[] args) {
String str = "abc";
System.out.println(str.charAt(2));
}
}
运行结果:
字符串在java是以字符数组存储的,方法中的index便是索引值,如代码中放回索引处为2的字符,即为 c 。
5、返回从给定位置开始的码点(Unicode 码点)
codePointAt():
public class Test {
public static void main(String[] args) {
String str = "abc";
System.out.println(str.codePointAt(2));
}
}
运行结果:
返回的是指定索引处字符的Unicode 码点,字符c对应的Unicode编码为99,即返回99。
6、返回从 指定代码点开始,位移 指定数字 后的码点索引。
offsetByCodePoints():
public class Test {
public static void main(String[] args) {
String str = "abcdef";
System.out.println(str.offsetByCodePoints(2,2));
}
}
运行结果:
返回 从索引处为2的位置位移2个单位后的 索引值。
7、compareTo(String other)方法
按照字典顺序,如果字符串位于 other 之前, 返回一个负数;如果字符串位于 other 之后,返回一个正数;如果两个字符串相等,返回 0。
代码验证:
public class Test {
public static void main(String[] args) {
String str = "567";
System.out.println(str.compareTo("566"));
System.out.println(str.compareTo("567"));
System.out.println(str.compareTo("568"));
}
}
运行结果如下:
8、将这个字符串的码点作为一个流返回。调用 toArray 将它们放在一个数组中。
codePoints():
import java.util.Arrays;
import java.util.stream.IntStream;
public class Test {
public static void main(String[] args) {
String str = "abcdef";
IntStream ss = str.codePoints();
int[] aa =ss.toArray();
System.out.println(Arrays.toString(aa));
}
}
运行结果:
9、如果字符串以 suffix 开头或结尾, 则返回 true。
startsWith()、endsWith()
public class Test {
public static void main(String[] args) {
String str = "abcdef";
System.out.println(str.startsWith("abc") );
System.out.println(str.startsWith("bc") );
System.out.println(str.endsWith("ef") );
System.out.println(str.endsWith("e") );
}
}
运行结果如下:
true
false
true
false
10、字符替换
replace(oldChar,newChar):
11、返回与字符串 str 或代码点 cp 匹配的第一个子串的开始位置。这个位置从索引 0 或fromlndex 开始计算。 如果在原始串中不存在 str,返回 -1。
int indexOf(String str)
int indexOf(String str, int fromlndex )
int indexOf(int cp)
int indexOf(int cp, int fromlndex )
12、返回与字符串 str 或代码点 cp 匹配的最后一个子串的开始位置。 这个位置从原始串尾端或 fromlndex 开始计算。
int lastIndexOf(String str)
int lastIndexOf(String str, int fromlndex )
int lastindexOf(int cp)
int lastindexOf(int cp, int fromlndex )
13、大小写转换
toLowerCase()、toUpperCase()
14、删除原始字符串头部和尾部的空格。
t r i m():
15、将字符串转换为字符数组
toCharArray():
16、字符串拼接
17、返回此对象本身
toString():
18、截取某个字符串
substring():
19、分割字符串
split():
以上便是我对String类方法的总结。