Initializes a newly created String object so that it represents the same
sequence of characters as the argument; in other words, the newly
created string is a copy of the argument string.
Constructs a string buffer so that it represents the same sequence of
characters as the string argument; in other words, the initial contents
of the string buffer is a copy of the argument string.
Thrown by the charAt method in class String and by other String methods to
indicate that an index is either negative or greater than or equal to the
size of the string.