On 08/02/2026 15:57, Markus KARG wrote:
Dear Core-Lib Devs,

the JavaDocs of Writer::append(CharSequence) literally says:

     * <p> An invocation of this method of the form {@code out.append(csq)}      * when {@code csq} is not {@code null}, behaves in exactly the same way
     * as the invocation
     *
     * {@snippet lang=java :
     *     out.write(csq.toString())
     * }
     * ...

I am kindly asking for an authoritative clarification how this is to be understood:

* (A) ONLY the particular implementation found in Writer.java MUST invoke "csq.toString"?

* (B) OpenJDK's OWN subclasses of Writer MUST invoke "csq.toString"?

* (C) ALL subclasses of Writer (even third-party code) MUST invoke "csq.toString"?

* (D) ...?...

It just means that out.append(csq) and out.write(csq.toString()) are equivalent when csq is not null. It does not mean that every implementation must invoke csq.toString(). Writer.nullWriter is the extreme in that it can ignore csq. With specs like this then implicit assumption that the toString doesn't have observable side effects.

-Alan

Reply via email to