Java Android:应该为空的字符串有奇怪的内容

Java Android:应该为空的字符串有奇怪的内容,java,android,Java,Android,我这里有一只很奇怪的虫子 我将字符串设置为空: String s = ""; 但有时当我以后使用它时,它包含: "java.util.concurrent.locks.ReentrantLock$NonfairSync@2105f068[State = 0, empty queue]" 这在后台线程中发生 你知道这怎么可能吗 更新: 我被要求提供更多的代码。 完整的代码可能太多,但这里有更多信息: 问题发生在以AsyncTask启动的后台任务中。 我所做的只是: String s = "";

我这里有一只很奇怪的虫子

我将字符串设置为空:

String s = "";
但有时当我以后使用它时,它包含:

"java.util.concurrent.locks.ReentrantLock$NonfairSync@2105f068[State = 0, empty queue]"
这在后台线程中发生

你知道这怎么可能吗

更新:

我被要求提供更多的代码。 完整的代码可能太多,但这里有更多信息: 问题发生在以AsyncTask启动的后台任务中。 我所做的只是:

String s = "";
String t = "";
...
... Here happens some other stuff, that does not use s or t
...
s += "x";
t += "y" + s + "z";
Log.d("TEST", t);

Output most of the time: "yxz"
Output sometimes: "yjava.util.concurrent.locks.ReentrantLock$NonfairSync@2105f068[State = 0, empty queue]xz"

我正在使用Java version 7 update 51

对我来说听起来像是一个死锁

读一下这个,还有


尝试升级到最新的Java版本-这可能会解决问题。

需要更多代码。所有的
s
都在哪里使用?您在哪里打印或记录
s
字符串?您的问题是关于线程/锁,而不是空字符串可能是死锁。但我仍然不明白:消息是如何进入字符串的?