Java 教程是为 JDK 8 编写的。本页中描述的示例和实践未利用在后续版本中引入的改进。
String 类有许多用于比较字符串和字符串部分的方法。下表列出了这些方法。
| 方法 | 描述 |
|---|---|
boolean endsWith(String suffix) |
如果此字符串以指定为方法的参数的子字符串结束或以其开头,则返回 true。 |
boolean startsWith(String prefix, int offset) |
考虑从索引 offset 开始的字符串,如果以指定为参数的子字符串开头,则返回 true。 |
int compareTo(String anotherString) |
按词典顺序比较两个字符串。返回一个整数,指示此字符串是否大于(结果> 0),等于(结果是= 0)或小于(结果是< 0)参数。 |
int compareToIgnoreCase(String str) |
按词典顺序比较两个字符串,忽略大小写的差异。返回一个整数,指示此字符串是否大于(结果> 0),等于(结果是= 0)或小于(结果是< 0)参数。 |
boolean equals(Object anObject) |
当且仅当参数是 String 对象时,且该对象表示与此对象相同的字符序列时返回 true。 |
boolean equalsIgnoreCase(String anotherString) |
返回 true 当且仅当参数是 String 对象,且该对象表示与此对象相同的字符序列,忽略大小写的差异。 |
boolean regionMatches(int toffset, String other, int ooffset, int len) |
测试此字符串的指定区域是否与 String 参数的指定区域匹配。
Region 的长度为 |
boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) |
测试此字符串的指定区域是否与 String 参数的指定区域匹配。
Region 的长度为 boolean 参数指示是否应忽略大小写;如果为 true,则在比较字符时忽略大小写。 |
boolean matches(String regex) |
测试此字符串是否与指定的正则表达式匹配。正则表达式在标题为 "正则表达式" 的课程中讨论。 |
以下程序 RegionMatchesDemo 使用 regionMatches 方法在另一个字符串中搜索字符串:
public class RegionMatchesDemo {
public static void main(String[] args) {
String searchMe = "Green Eggs and Ham";
String findMe = "Eggs";
int searchMeLength = searchMe.length();
int findMeLength = findMe.length();
boolean foundIt = false;
for (int i = 0;
i <= (searchMeLength - findMeLength);
i++) {
if (searchMe.regionMatches(i, findMe, 0, findMeLength)) {
foundIt = true;
System.out.println(searchMe.substring(i, i + findMeLength));
break;
}
}
if (!foundIt)
System.out.println("No match found.");
}
}
该程序的输出是 Eggs。
程序遍历 searchMe 引用字符串的一个字符。对于每个字符,程序调用 regionMatches 方法来确定以当前字符开头的子字符串是否与程序正在查找的字符串匹配。