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”?
答案 0 :(得分:2)
s1=s1.trim(); // trim() returns the "trimmed" String. You have to set it back to the reference
答案 1 :(得分:1)
s1.trim();
会返回修剪过的字符串,因此请在某个变量中捕获以修改它。
在你的情况下它保持原样s1
。因此,当您致电s1.length()
时,它会提供原始s1
的长度。
如果您想修改它,请尝试s1=s1.trim();
答案 2 :(得分:0)
修剪返回新字符串而不是修改它。