Yes. It is a String
object that happens to contain no characters.
It has all the methods that any String
object does.
Here is an outline of our method:
static int length( String str ) { if ( str is the empty string ) return 0; else return 1 + length of all but first character of str; }
Detecting the empty string is a problem. We can't use
if ( str.length() == 0 )
because the base case of a recursive method should not use the method itself.
(Remember: we are pretending that the length()
method does not already exist.)
Starting with Java 6.0, the String
class has an isEmpty()
method
which returns true if the string is empty.
If your version of Java is earlier than 6.0, you will need to use the equals()
method.
If str
refers to an empty String
object, what is the value of
str.equals("")
and what is the value of
str == ""