Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我们在没有新操作符的情况下创建字符串时,是否创建对象? s1这里是对象引用变量,还是我们在第一条语句中创建了对象? 如果答案是肯定的,那么在第二个语句中,将创建多少个对象_Java_String_Object - Fatal编程技术网

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";
    }
}