我什么时候应该使用String s = new String("Hello World")?

Jac*_*ale 5 java string

可能重复:
Java中表达式"new String(...)"的目的是什么?

我知道String s = new String("Hello World")应该避免,因为它会为"Hello World"创造额外的空间,这在大多数情况下是不必要的.

解释为什么String s = new String("Hello World")应该避免的相关问题在这里:

"text"和new String("text")之间有什么区别?

但我们什么时候需要使用String s = new String("Hello World"),而不是String s = "Hello World"?这是我遇到的面试问题.

如果String s = new String("Hello World")在大多数情况下应该避免,为什么Java仍然允许这样做?