以下程序的输出:
public class TestClass {
public static void main(final String[] args){
String token = "null\n";
token.trim();
System.out.println("*");
System.out.println(token);
System.out.println("*");
}
}
是:
*
null
*
然而
How to remove newlines from beginning and end of a string (Java)?
另有说法。
我错过了什么?
答案 0 :(得分:21)
由于String
是不可变的
token.trim();
不会更改基础值,它会返回一个没有前导和结尾空白字符的新String
。您需要替换您的参考
token = token.trim();
答案 1 :(得分:13)
字符串是不可变的。变化
token.trim();
到
token = token.trim();