怎么"" (双引号)有方法吗?

时间:2016-11-23 06:59:10

标签: java string literals

即使你没有在String中实际声明它,双引号("")如何有一个方法。例如:

System.out.println("".length());

""一个对象已经没有在String上声明它了吗? 或者它是Java上的一个关键字,他知道它已经是一个字符串了吗?

6 个答案:

答案 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)。

--reference

文字和其他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一样。