首页 > 解决方案 > 如果我们尝试将 toString 应用于 String Literal 会发生什么?

问题描述

你能帮我解决这个问题吗?

我正在尝试对 String Literal 应用 toString 方法,如果我这样做的话,String 文字会被转换为字符串对象吗?如果它被转换为字符串对象,内存会分配在堆还是字符串常量池中?

这是我正在尝试的代码片段:

String str = "Welcome";     
System.out.println(str.toString());

我无法弄清楚str.toString()这个声明在内部发生了什么。

标签: java

解决方案


如果我们查看该方法的源代码toString()

/**
 * This object (which is already a string!) is itself returned.
 *
 * @return  the string itself.
 */
public String toString() {
    return this;
}

所以该toString()方法什么都不做,只是返回完全相同String


推荐阅读