Chapter 5. Strings
Everyone has a logger and most of them are string pigs. —Kirk Pepperdine
Strings have
a special status in Java. They are the only objects with:
Their own
operators
(+ and +=)
A literal
form (characters surrounded by double quotes, e.g.,
"hello")
Their own externally accessible collection in the VM and class files
(i.e., string pools, which provide uniqueness of
String objects if the string sequence can be
determined at compile time)
Strings are immutable
and have a special relationship with
StringBuffer objects. A String
cannot be altered once created. Applying a method that looks like it
changes the String (such as String.trim(
)) doesn't actually do so; instead, it
returns an altered copy of the String.
Strings are also final, and so
cannot be subclassed. These points have advantages and disadvantages
so far as performance is concerned. For fast string manipulation, the
inability to subclass String or access the
internal char array can be a serious problem.
|