【发布时间】:2014-05-13 08:24:03
【问题描述】:
public class X {
public static void main(String[] args) {
String s1=" abc xyz ";
System.out.println(s1.length());
s1.trim();
System.out.println(s1.length());
System.out.println(s1.trim().length());
}
}
O/p:
9
9
7
请向我解释为什么 s1.trim().length() 是 7 而不是 9,因为 s1 仍将指向旧字符串,即“abc xyz”?
【问题讨论】:
-
字符串是不可变的。
-
@devnull 刚刚检查了您的个人资料@SO,这很有趣,以至于在“关于我”部分我们“尝试”找到了类似的东西。 :-D
-
@Duncan 你觉得自己像个超级英雄吗? :-)
-
@Duncan 是的,你不知道吗?您可以使用锤子关闭包含您拥有金徽章的标签的问题。