即使你没有在String中实际声明它,双引号(""
)如何有一个方法。例如:
System.out.println("".length());
是""
一个对象已经没有在String上声明它了吗?
或者它是Java上的一个关键字,他知道它已经是一个字符串了吗?
答案 0 :(得分:5)
JLS §3.10.5解释了什么是字符串文字(“字符串文字由双引号括起来的零个或多个字符组成。”)并且还说:
字符串文字的类型始终为String(§4.3.3)。
答案 1 :(得分:3)
JLS - 3.10.5. String Literals中提到空字符串:
以下是字符串文字的示例:
"" // the empty string "\"" // a string containing " alone "This is a string" // a string containing 16 characters "This is a " + // actually a string-valued constant expression, "two-line string" // formed from two string literals
这是一个有效的字符串,空字符串。
答案 2 :(得分:2)
""
是String
的一个实例。您可以在其上调用任何String
方法。事实上它是字面意思并没有改变这样一个事实:
字符串文字的类型始终为String(§4.3.3)。
文字和其他String
之间的区别在于文字是在编译时构造的,所有相等的文字只有一个实例。
答案 3 :(得分:1)
""
是java.lang.String
字面值。与任何其他String对象一样,您可以在其上调用方法。
答案 4 :(得分:1)
它被称为String literal,因此您可以使用任何java.lang.String
方法。
String类表示字符串。中的所有字符串文字 Java程序,例如“abc”,被实现为此实例 类。
查看来自here的API,您可以在其中找到有关字符串以及java.lang.String
方法的详细说明。
答案 5 :(得分:1)
Double qoute ""
是一个字符串文字,这就是为什么它像obj String
一样。