Java中String对象的实例化由谁负责? [重复]

问题描述 投票:0回答:1

我们知道可以通过对象的构造函数传递值。看这个例子:

String primeira = "Java";
String segunda = "Csharp";

String terceira = new String("pyhton");

在我的前两个属性中我没有实例化任何对象,为什么它没有给出错误?这个实例化是在 Java 的幕后完成的吗?如果是另一个类而不是 String 类会报错吗?

我查看了文档,没有找到任何答案。

java string
1个回答
0
投票

让我尽力解释这一点。因此,在 Java 字符串文字中,您可以在不使用

String
关键字的情况下创建
new
对象。

Java 在内部创建

String
对象来表示字符串文字,这个过程称为字符串驻留。因此,当您声明一个字符串变量并为其分配一个字符串文字时,Java 会自动创建一个
String
对象。

但是,对于大多数其他类,您需要使用

new
关键字来实例化对象。此行为特定于
String
类,并不普遍适用于 Java 中的所有类。

参见下面的示例:

public class StringExample {
    public static void main(String[] args) {
        // Creating String objects using string literals
        String primeira = "Java"; // No need for 'new' keyword
        String segunda = "Csharp";

        // Creating String object using 'new' keyword
        String terceira = new String("Python");

        // Displaying the content of the String objects
        System.out.println("primeira: " + primeira);
        System.out.println("segunda: " + segunda);
        System.out.println("terceira: " + terceira);
    }
}

真的希望这有帮助,请告诉我:/

© www.soinside.com 2019 - 2024. All rights reserved.