I understand String\'s intern method.
String s1 = \"Hello\";
String s4 = new String(\"Hello\").intern();
Output of (s1 ==
You should use intern when you need to optimize your code, because comparing string by reference is faster.
As for your statement, only two object will be created.
Note that too much use of intern may cause to a memory exception as they are stored in the PermGen which is normally small, so make sure you configure correctly your JVM.