【发布时间】:2017-11-23 14:05:36
【问题描述】:
我有一个问题。 例如:
StringBuilder sb = new StringBuilder();
sb.append("Teacher,");
String s = sb.append(" Good").append("Morning!").toString();
现在在最后一行中,我创建了两个附加方法的链。我知道每个方法 append 方法都会返回一个地址到内存中的字符串(我是对的?对吧?)。所以在第一个sb.append 中,它附加到sb 指向的地址。第一个sb.append 在运行时首先被执行,但是下一个.append 会发生什么?下一个.append 正在使用第一个附加方法返回的地址,还是我错了?
这就是我的意思:
第一个附加 -> sb.append(" Good");
第二个追加returnedAddr.append("Morning!");
它是这样工作的吗?
【问题讨论】:
-
docs.oracle.com/javase/7/docs/api/java/lang/… 返回一个引用,这就是原因。
标签: java method-chaining