仅在java字符串中使用双引号(无空格)"&引用;
在做一些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
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
实例。