在下面的代码中不确定原因,但是当我们复制并粘贴变量" data"然后使用空白字符串即使它显示长度为6.要测试是请复制相同的代码片段,即使我们创建一个具有相同名称的新变量(在下面的代码中注释)它也能正常工作。要测试的是请按原样复制和粘贴代码,因为只有复制粘贴它才会给它带来麻烦。
String data=""; // Copy this string variable, when we print this it gives output as 6
//String data=""; //This show's correct value as 0
System.out.println(data.length());
答案 0 :(得分:7)
第一个data
持有6次
(在浏览器中自己检查),这是一个零字宽无空间的Unicode字符。接下来是一个实际的空String
。一切都很好。
答案 1 :(得分:1)
答案 2 :(得分:0)
首先将长度放在整数中。
String data="";
int i = data.length();
System.out.println(i);
编辑:正如先前评论中所述: 如果要像这样打印数据,则数据保存空字符串的unicode。而unicode长度为6个字符。这就是为什么你得到6的结果。