literal == literal : true literal == new String : false literal.equals(new String) : true literal == c.intern() : true constant + literal == "hello" : true runtime concat == "hello" : false runtime concat.intern() == "hello": true built "java".intern() == the built instance : false built unseen string .intern() == the built instance: true