4

以下程序的输出:

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

*

然而

如何从字符串的开头和结尾删除换行符(Java)?

另有说法。

我错过了什么?

4

2 回答 2

21

因为String是不可变的

token.trim();

不会更改基础值,它返回一个String没有前导和结尾空白字符的新值。您需要替换您的参考

token = token.trim();
于 2013-09-19T15:34:25.427 回答
13

字符串是不可变的。改变

token.trim();

token = token.trim();
于 2013-09-19T15:34:42.457 回答