这看起来有点奇怪,但我有一段代码记录了我的字符串及其长度,然后以一种非常简单的方式:
log.v("something", myString + " -- " + myString.length);
非常奇怪我在程序运行时在日志视图中看到的是:
.1.29 -- 9
我非常确定我的字符串在这里没有9个元素。
我不得不说我的完整字符串是从串行蓝牙设备加载的,它涉及一些奇怪的字符,但我确保通过一个函数绕过它们,虽然我不能过滤它们,因为它似乎在这里。
为什么我在字符串变量中看到这个矛盾?我怎么能预料到
答案 0 :(得分:0)
可能的错误:
myString
中的内容(至少在上面的代码中)。myString
但长度来自mString
。这些可能是错误的可能原因。
答案 1 :(得分:0)
在您的情况下,字符串长度为9
。你正在连接两个字符串然后写它的长度。 log.v("something", myString + " -- " + myString.length);
其中myString+' -- '
的长度为myString.length()+ 4
,因此.1.29
的长度为5
,' -- '
的长度为4,这是9
{{1}}
答案 2 :(得分:0)
您是否尝试删除可能的空格?
myString.trim().length
答案 3 :(得分:0)
由于某种原因,记录器中可能没有输出某些字符。 试试这个:
for(int i=0; i<myString.length();i++)
{
log.v("something", "character number " + i + ": " + myString.charAt(i));
}