title: Java string literal automatically interpreted as String object, but how?
body: <p>What are the mechanics behind Java automatically interpreting string literals as String objects, since there are no overloaded operators and there is no default support for low-level string buffers (not including the high level StringBuffer)? Is this a language or virtual machine context?</p>