Java’s String class encapsulates an array of bytes. A byte can be converted to a char, in which case, String becomes an array of characters used to compose words, sentences, or any other data you want ...
In their 2009 JavaOne presentation Return of the Puzzlers: Schlock and Awe (PDF), Joshua Bloch and Neal Gafter presented seven more puzzlers and extracted lessons learned from each of these puzzlers ...