如果它可以启动
String s = "Hello";
那为什么它是一个类?参数在哪里?
String s = "Hello";
只是语法糖。它实际上是作为引用类型实现的。(它是一个不可变的引用类型,所以你不能改变它)
鉴于这String
是一个如此有用且经常使用的类,它有一种特殊的语法(通过字符串文字表示:内部的文本""
)来创建它的实例,但在语义上这两者是等价的:
String s = "Hello"; // just syntactic sugar
String s = new String("Hello");
在幕后,这两种形式并不是100% 等效的,因为 using 的语法""
试图重用 Java 字符串池中的字符串,而显式实例化new String("")
总是会创建一个新对象。
但请不要误会,任何一种语法都会产生对对象实例的引用,字符串在 Java 中不被视为原始类型,并且是类的实例,就像其他任何语法一样。
String s = "Hello";
JVM 将其视为:
String s = new String("Hello");
并将其实习到String
池中作为String
文字。
您在示例中的行是创建一个 String 对象。没有您正在考虑的传统意义上的任何参数。