双引号仅在java String中(不含空格)“”

时间:2015-05-26 12:22:52

标签: java string

正在做一些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());
 }   
}

并且字符串长度再次。 那么“”的事情是什么呢? 这个附加操作“”+“”+“”+“”+“”在这里做什么。 我希望它能做一些事情,但长度又是。 我不理解这些 双引号而没有任何空格

那里有一些东西,这就是 not null 的原因,但无论它是什么,它都是零长度,......不能吞下这个东西

编辑: 为什么要使用空字符串?为什么不依赖于null?只是寻找澄清......虽然我也害怕 null 幽灵:(

4 个答案:

答案 0 :(得分:3)

双引号表示空字符串 - 其中没有任何内容的字符串。

正如Lrrr评论的那样,没有什么+什么都没有+什么都没有。

答案 1 :(得分:1)

没有任何字符的双引号意味着Java中为空String。如果您连接多个空的String值,结果将再次为空String。这就是为什么每次都将str.length()设为零。

答案 2 :(得分:1)

如果你对+ ""做任何事情,要执行toString()""是空字符串,无论你连接多少空字符串,它都将是一个空字符串。< / p>

答案 3 :(得分:1)

java中的字符串文字赋值将""作为空字符串。这意味着,有一个没有任何内容的对象。

方法length()实际上返回String的基础数组的大小,在本例中为0。

因此,如果你添加了很多空字符串,那么你得到的答案就是0