[英]Java: getting incorrect string.length() after using trim()
我有字符串"22"
,长度为3;
我用.trim()
还有什么可能是这个原因?
您应该向我们提供证明该问题的代码,但是我想您是这样做的:
String str = "22 ";
str.trim();
System.out.println(str.length());
但是str.trim()
不会更改str
(因为字符串是不可变的)。 而是返回修剪后的新字符串。 所以你需要这样的东西:
String str = "22 ";
str = str.trim();
System.out.println(str.length());
尝试这个:
System.out.println(java.util.Arrays.toString(theString.toCharArray()));
这将转储char[]
版本的String
,因此我们也许可以查看它是否包含任何有趣的东西。
因为我在提出问题时找到了理由,所以我要回答自己。
如果字符串是由.substring或split创建的,则将保存整个字符串以及子字符串的位置和长度。
显然无法修剪(是“ 22”)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.