仅在java字符串中使用双引号(无空格)"&引用;

仅在java字符串中使用双引号(无空格)"&引用;,java,string,Java,String,在做一些Java代码时,我尝试的是: public class Tester { public static void main(String args[]){ String str = ""; System.out.println(str.length()); } } 长度与预期一致0。 然后我试着做了如下的事情 public class Tester { public static void main(String args[]){ St

在做一些Java代码时,我尝试的是:

 public class Tester {
 public static void main(String args[]){
       String str = "";
       System.out.println(str.length());
   }
 }   
长度与预期一致0。 然后我试着做了如下的事情

public class Tester {
public static void main(String args[]){
   String str = ""+""+""+""+"";
   System.out.println(str.length());
 }   
}
字符串长度再次为0。 那么这是什么呢。 此追加操作“+”+“+”+”在此处执行的操作。 我希望它正在做些什么,但长度又是零。 我不理解这些没有空格的双引号

这里有一些东西,这就是为什么它不是空的,但不管它是什么,它的长度是零,…不能吞下这个东西 编辑:
为什么要使用空字符串?为什么不依赖null?只是想澄清一下……虽然我也害怕nullghost:(

双引号表示空字符串-一个没有任何内容的字符串


正如Lrrr所评论的,nothing+nothing+nothing仍然是nothing。

双引号表示一个空字符串-一个没有任何内容的字符串


正如Lrrr所评论的,nothing+nothing+nothing仍然是nothing。

在Java中,不带任何字符的双引号表示空
字符串
。如果您包含多个空
字符串
值,结果将再次成为空
字符串
。这就是为什么您得到
str.length()
每次为零。

在Java中,不带任何字符的双引号表示空的
字符串
。如果您包含多个空的
字符串
值,结果将再次成为空的
字符串
。这就是为什么每次都将
str.length()
作为零。

如果执行
+“
对任何东西执行
toString()
都是空字符串,无论连接多少空字符串,它始终是空字符串。

如果对任何东西执行
+”
是空字符串,无论连接多少空字符串,它都将始终是空字符串。

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

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


因此,如果您添加了大量空字符串,您将得到的答案就是0。java中的字符串文字赋值将
作为空字符串。这意味着,其中有一个对象没有任何内容

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


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

简单的数学:0+0=0但有一点,这就是为什么它不是空的,但不管它是什么,它的长度都是零,为什么我不知道为什么你会觉得奇怪。Java中的字符串文字基本上等同于引号之间的任何内容,不包括它们.既然那是空的,那么它是空的,它的长度是零。这有什么问题吗?我想你混淆了对象的值和内部表示形式。没错,有一个对象,
String
,它存在,但它的值是空的。所以,如果我取多个无实例的和或串联,我会得到一个new对象,该对象的值为零。该值是一个零长度
String
实例。简单数学:0+0=0但有一些东西,这就是为什么它不是null,但不管它是什么,它的长度都是零,为什么我不确定这对您来说似乎很奇怪。Java中的字符串文字基本上等同于引号之间的任何内容,不包括它们。既然那是空的,那么它是空的,它的长度是零。这有什么问题吗?我想你混淆了对象的值和内部表示。没错,有一个对象,
String
,它存在,但它的值是空的。所以如果我取no的多个实例的和,或者将其串联起来首先,我将得到一个值为nothing的新对象。该值是一个长度为零的
String
实例。