【发布时间】:2014-09-20 12:33:39
【问题描述】:
我了解String的intern方法。
String s1 = "Hello";
String s4 = new String("Hello").intern();
(s1 == s4) 的输出将是 true,如果我们不使用 intern,它将是 false。
我的问题是在执行上面两个语句时,会创建多少个对象?一个或两个? new 运算符会再创建一个对象吗?
我知道String s4 = new String("Hello") 会创建两个对象,但对使用intern 感到困惑。
【问题讨论】:
-
这是一个有技巧的问题,因为数字可能是 2、3 或 4。
-
(但是这个相同的问题以前也有人问过。这显然是一个标准的面试问题或类似的问题。而且是一个愚蠢的问题(因为似乎很多面试问题都是如此)。)