猿问

如果将字符串的值设置为包含对象的表达式会发生什么?

我想知道如果一个字符串的值包含一个对象会调用什么函数?


例如:


public class A {}


 A a;

 String str = "Hello" + a;

它也String.valueOf(Object)像System.out.println()这样调用吗?


慕姐4208626
浏览 133回答 1
1回答

明月笑刀无情

见jls 15.18.1。字符串连接运算符 +:如果只有一个操作数表达式是字符串类型,则在运行时对另一个操作数执行字符串转换(第 5.1.11 节)以生成字符串。和jls 5.1.11。字符串转换:如果引用为空,则将其转换为字符串“空”(四个 ASCII 字符 n、u、l、l)。否则,转换就像是通过调用不带参数的引用对象的 toString方法来执行的;但如果调用 toString 方法的结果为 null,则使用字符串“null”代替。toString 方法由原始类 Object(第 4.3.2 节)定义。许多类覆盖了它,特别是 Boolean、Character、Integer、Long、Float、Double 和 String。
随时随地看视频慕课网APP

相关分类

Java
我要回答