Java 当我们在没有新操作符的情况下创建字符串时,是否创建对象? s1这里是对象引用变量,还是我们在第一条语句中创建了对象? 如果答案是肯定的,那么在第二个语句中,将创建多少个对象
否。使用新运算符时,您将始终创建一个新的Java 当我们在没有新操作符的情况下创建字符串时,是否创建对象? s1这里是对象引用变量,还是我们在第一条语句中创建了对象? 如果答案是肯定的,那么在第二个语句中,将创建多少个对象,java,string,object,Java,String,Object,否。使用新运算符时,您将始终创建一个新的字符串对象。如果您创建一个字符串,通常不使用新操作符,它将从字符串池返回一个现有对象(如果它已经存在),如果它不存在,它将创建一个新对象 有关更多信息,请参阅此:简而言之,由于“hello”和“world”是编译时已知值的编译时间常数,编译器将进行串联并编译“hello”+“world”,就好像它是像“helloworld”那样编写的。 class Help { public static void main(String[] args) {
字符串
对象。如果您创建一个字符串
,通常不使用新操作符,它将从字符串池返回一个现有对象(如果它已经存在),如果它不存在,它将创建一个新对象
有关更多信息,请参阅此:简而言之,由于“hello”
和“world”
是编译时已知值的编译时间常数,编译器将进行串联并编译“hello”+“world”
,就好像它是像“helloworld”
那样编写的。
class Help {
public static void main(String[] args) {
String s1 = "hello";
String s2 = "hello" + "world";
}
}