The String
class has a number of methods for comparing strings and portions of strings. The following table lists these methods.
Method | Description |
---|---|
boolean endsWith(String suffix) |
Returns true if this string ends with or begins with the substring specified as an argument to the method. |
boolean startsWith(String prefix, int offset) |
Considers the string beginning at the index offset , and returns true if it begins with the substring specified as an argument. |
int compareTo(String anotherString) |
Compares two strings lexicographically. Returns an integer indicating whether this string is greater than (result is > 0), equal to (result is = 0), or less than (result is < 0) the argument. |
int compareToIgnoreCase(String str) |
Compares two strings lexicographically, ignoring differences in case. Returns an integer indicating whether this string is greater than (result is > 0), equal to (result is = 0), or less than (result is < 0) the argument. |
boolean equals(Object anObject) |
Returns true if and only if the argument is a String object that represents the same sequence of characters as this object. |
boolean equalsIgnoreCase(String anotherString) |
Returns true if and only if the argument is a String object that represents the same sequence of characters as this object, ignoring differences in case. |
boolean regionMatches(int toffset, String other, int ooffset, int len) |
Tests whether the specified region of this string matches the specified region of the String argument.
Region is of length |
boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) |
Tests whether the specified region of this string matches the specified region of the String argument.
Region is of length The boolean argument indicates whether case should be ignored; if true, case is ignored when comparing characters. |
boolean matches(String regex) |
Tests whether this string matches the specified regular expression. Regular expressions are discussed in the lesson titled "Regular Expressions." |
The following program, RegionMatchesDemo
, uses the regionMatches
method to search for a string within another string:
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."); } }
The output from this program is Eggs
.
The program steps through the string referred to by searchMe
one character at a time. For each character, the program calls the regionMatches method to determine whether the substring beginning with the current character matches the string the program is looking for.