0

这可能看起来有点奇怪,但我有这段代码以一种非常简单的方式记录我的字符串及其长度:

log.v("something", myString + " -- " + myString.length);

非常奇怪的是,当程序运行时,我在日志视图中看到的是:

.1.29 -- 9

我很确定我的字符串在这里没有 9 个元素。

我不得不说我的完整字符串确实从涉及一些奇怪字符的串行蓝牙设备加载,但我确保我通过一个函数绕过它们,尽管我不能像这里看起来那样将它们全部过滤掉。

为什么我在字符串变量中看到这种矛盾?以及我将如何预期

4

4 回答 4

0

字符串长度9在您的情况下。你正在做两个字符串的连接,然后写它的长度。log.v("something", myString + " -- " + myString.length);哪里myString+' -- '有 的长度myString.length()+ 4,所以你有.1.29哪个长度是5' -- '哪个长度是 4,那就是9

于 2013-11-01T14:50:47.410 回答
0

可能的错误:

  1. 您没有指定其中的内容myString(至少在上面的代码中)。
  2. 你有myString,但长度是从mString.

这些可能是错误的可能原因。

于 2013-09-12T02:34:33.600 回答
0

您是否尝试过删除可能的空格?

  myString.trim().length
于 2013-11-01T15:05:00.613 回答
0

可能由于某种原因,某些字符没有在记录器中输出。尝试这个:

  for(int i=0; i<myString.length();i++)
  {
     log.v("something", "character number " + i + ": " + myString.charAt(i));
  }
于 2013-11-01T15:15:55.077 回答