例如,在StringBuilder reverse((函数的oracle文档中,会返回文档中所说的"对该对象的引用"。因此,如果A是StringBuilder类型的对象,并且我调用A.reverse((,则返回对A的反向的引用,但它返回到哪里?如果推荐信被退回,我不需要做:
StringBuilder A = new StringBuilder("HELLLO");
StringBuilder B = new StringBuilder();
B = A.reverse();
为什么我只能做:
A.reverse();
为什么A的引用自动更改为反向函数返回的引用?
如果我这样做了:
A = A.reverse();
这是否也将反向值存储在A中?
StringBuilder是可变的。如果从StringBuilder a
开始,则a.reverse()
返回对a
的引用。
StringBuilder
返回这个值以允许方法链接,它实际上在原地更新。考虑一下,
System.out.println(a.reverse().toString().toLowerCase());
如果reverse()
是void
,那么您就无法将呼叫连锁。