可能重复: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 仍然允许这样做呢?
Boolean.TRUE
时,对于new Boolean(true)
的同样问题也适用。 - Thiloint a = 5 + 1 - 1;
虽然愚蠢,但是合法的。 - Damien_The_Unbelievernew String("s");
则不是)。 - Thilo