Chapter 3. Strings and Things
Introduction
Character strings are an inevitable part of just about any programming task. We use them for printing messages for the user; for referring to files on disk or other external media; and for people’s names, addresses, and affiliations. The uses of strings are many, almost without number (actually, if you need numbers, we’ll get to them in Chapter 5).
If you’re coming from a programming language like C, you’ll need to remember that String is a defined type (class) in Java—that is, a string is an object and therefore has methods. It is not an array of characters (though it contains one) and should not be thought of as an array. Operations like fileName.endsWith(".gif") and extension.equals(".gif") (and the equivalent ".gif".equals(extension)) are commonplace.foonote:[They are “equivalent” with the exception that the first can throw a NullPointerException while the second cannot.]
Notice that a given String object, once constructed, is immutable. In other words, once I have said String s = "Hello" + yourName;, the contents of the particular object that reference variable s refers to can never be changed. You can assign s to refer to a different string, even one derived from the original, as in s = s.trim(). And you can retrieve characters from the original string using charAt(), but it isn’t called getCharAt() because there is not, and never will be, a setCharAt() method. Even methods like toUpperCase() don’t change the String; they return a new ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access