java - 如果将字符串的值设置为包含对象的表达式会发生什么?
问题描述
我想知道如果字符串的值包含对象,会调用哪些函数?
例如:
public class A {}
A a;
String str = "Hello" + a;
它也String.valueOf(Object)
按原样调用System.out.println()
吗?
解决方案
如果只有一个操作数表达式是字符串类型,则对另一个操作数执行字符串转换(第 5.1.11 节)以在运行时生成字符串。
如果引用为 null,则将其转换为字符串“null”(四个 ASCII 字符 n、u、l、l)。
否则,转换就像调用被引用对象的 toString方法一样执行,不带参数;但如果调用 toString 方法的结果为 null,则使用字符串“null”。
toString 方法由原始类 Object(第 4.3.2 节)定义。许多类会覆盖它,特别是 Boolean、Character、Integer、Long、Float、Double 和 String。
推荐阅读
- haskell - 使用 Cabal 或 Stack 构建时是否可以在 bin 中输出静态文件?
- python - 如何在python中线性回归等于零的条件下求解最后一个x值
- postgresql - Ecto 可以在 PostgreSQL 查询中将列表转换为整数数组吗?
- docker - Docker - 如何在不命名的情况下将一些文件复制到我的容器中?
- python - 如何将字符串转换为列表
- wpf - 为什么快速更改的属性不会在 WPF 窗口上更新
- tensorflow - 如何将此 Edward 代码转换为 TFP 代码?
- mongodb - Mongo 聚合:将值划分为组
- python-2.7 - 如何在无效 JSON 文档中用引号将特定键的值括起来
- javascript - 尝试在 Google Apps 脚本中将 Stripe API 密钥添加到 UrlFetchApp 时收到 401“截断服务器”错误