Completion requirements
The String class is used for text manipulation. As you read, you will learn different ways to create Strings, methods to manipulate Strings, the String concatenation operator '+', and about how Strings are immutable.
25. More String Operations
Answer:
Prefix 1 matches.
Prefix 2 fails.
Prefix 3 fails.
Prefix 4 matches.
More String
Operations
Here is how the last More String
Operations
if
of the program worked:
String burns = "My love is like a red, red rose."; . . . . . . if ( burns.startsWith( " My love".trim() ) ) System.out.println( "Prefix 4 matches." ); <-- this branch executes else System.out.println( "Prefix 4 fails." ); |
The string " My love"
starts with two spaces, so it does not match the start of the string referenced by burns
. However, its trim()
method is called, which creates a new String
without
those leading spaces:
if ( burns.startsWith( " My love".trim() ) ) -----+---- -----+----- | | | | | +------- 1. A temporary String object | is constructed. | This temporary object | contains " My love" | | 2. The trim() method of the | temp object is called. | | 3. The trim() method returns | a reference to a SECOND | temporary String object | which it has constructed. | This second temporary | object contains "My love" | | 4. The parameter of the | startsWith() method | now is a reference to | a String, as required. | +---- 5. The startsWith() method of the object referenced by burns is called. 6. The startsWith() method returns true 7. The true-branch of the if-statement executes. |
Programmers usually do not think about what happens in such detail. Usually, a programmer thinks: "trim the spaces of one
String
and see if it is the prefix of another." But sometimes, you need to analyze a statement carefully to be sure it does what you want.Question 25:
What does the
toLowerCase()
method of classString
do?