As Java developers, we take strings for granted. They're everywhere, in every API, and in almost all interaction with systems outside the JVM. But Java's implementation of String is not without its problems. In this talk we'll explore how String is implemented and walk through some uncommon use cases. We will discuss some of the shortcomings of String and how alternative languages have addressed similar challenges. And we'll take a tour of some unusual libraries that provide an alternative representation of strings you might find useful.