Java:使用trim()后得到不正确的string.length()

时间:2010-05-30 16:24:00

标签: java string

我有字符串"22",我的长度为3;

我使用了.trim()

还有什么可能是这个原因?

3 个答案:

答案 0 :(得分:27)

你应该给我们代码来证明这个问题,但我猜你做的是这样的事情:

String str = "22 ";
str.trim();
System.out.println(str.length());

但是str.trim()不会改变str(因为字符串是不可变的)。相反,它返回一个新剪裁的String。所以你需要这样的东西:

String str = "22 ";
str = str.trim();
System.out.println(str.length());

答案 1 :(得分:11)

试试这个:

System.out.println(java.util.Arrays.toString(theString.toCharArray()));

这会转储char[]的{​​{1}}版本,因此我们可能会看到它是否包含任何有趣的内容。

答案 2 :(得分:-2)

因为我在制定问题时找到了理由,我会回答自己......

如果字符串是由.substring或split创建的,则保存整个字符串加上子字符串的位置和长度。

这显然不能修剪(是“22”)