java - 如果我们尝试将 toString 应用于 String Literal 会发生什么?
问题描述
你能帮我解决这个问题吗?
我正在尝试对 String Literal 应用 toString 方法,如果我这样做的话,String 文字会被转换为字符串对象吗?如果它被转换为字符串对象,内存会分配在堆还是字符串常量池中?
这是我正在尝试的代码片段:
String str = "Welcome";
System.out.println(str.toString());
我无法弄清楚str.toString()
这个声明在内部发生了什么。
解决方案
如果我们查看该方法的源代码toString()
:
/**
* This object (which is already a string!) is itself returned.
*
* @return the string itself.
*/
public String toString() {
return this;
}
所以该toString()
方法什么都不做,只是返回完全相同String
推荐阅读
- java - 如何实现始终返回非空值的排序多值树映射
- tensorflow - GPU 可用但未使用
- wpf - 类属性上的双向手动绑定,该属性又是一个类
- javascript - 按键“enter”时冒号空格后的第一个单词大写
- python - 如何在包含字符串的 numpy ndarray 中检查 NaN
- asp.net-core - webscoket asp.net core读取大文件数据
- c# - 'System.Func`2[T,System.Boolean]' 类型的表达式不能用于返回类型 'System.Boolean'
- python - 装饰器中的这个函数如何在 Python 中工作?
- r - 是否可以将可变长度的字符向量传递给 R 函数?
- c# - 如何获得每月的销售额?