正在做一些Java代码,我试过的是:
public class Tester {
public static void main(String args[]){
String str = "";
System.out.println(str.length());
}
}
,长度如预期零。 然后我尝试了类似下面的内容
public class Tester {
public static void main(String args[]){
String str = ""+""+""+""+"";
System.out.println(str.length());
}
}
并且字符串长度再次零。 那么“”的事情是什么呢? 这个附加操作“”+“”+“”+“”+“”在这里做什么。 我希望它能做一些事情,但长度又是零。 我不理解这些 双引号而没有任何空格 。
编辑: 为什么要使用空字符串?为什么不依赖于null?只是寻找澄清......虽然我也害怕 null 幽灵:(
答案 0 :(得分:3)
双引号表示空字符串 - 其中没有任何内容的字符串。
正如Lrrr评论的那样,没有什么+什么都没有+什么都没有。
答案 1 :(得分:1)
没有任何字符的双引号意味着Java中为空String
。如果您连接多个空的String
值,结果将再次为空String
。这就是为什么每次都将str.length()
设为零。
答案 2 :(得分:1)
如果你对+ ""
做任何事情,要执行toString()
,""
是空字符串,无论你连接多少空字符串,它都将是一个空字符串。< / p>
答案 3 :(得分:1)
java中的字符串文字赋值将""
作为空字符串。这意味着,有一个没有任何内容的对象。
方法length()实际上返回String的基础数组的大小,在本例中为0。
因此,如果你添加了很多空字符串,那么你得到的答案就是0