La interfaz java.io.Writer tiene dos métodos denominados append y write. ¿Cuáles son las diferencias entre estos dos? Incluso se dice que¿Cuál es la diferencia entre anexar y escribir métodos de java.io.writer?
Una invocación de este método de forma
out.append(c)
se comporta exactamente de la misma manera como la invocaciónout.write(c)
así que lo que es la razón de tener dos variantes de nombre de método?
¿Eso quiere decir que debo utilizar datos anexados en lugar de escribir? ¿Por qué no podían simplemente haber llamado a las sobrecargas con la escritura de la secuencia de comandos CharSequence e hicieron que los antiguos métodos de escritura también devolvieran al escritor? – Svish
@Svish, Eso rompería la compatibilidad con versiones anteriores.Cuando se compila el código, el tipo de devolución forma parte de la firma del código de bytes y no podrá usar el nuevo método sin volver a compilar el código desde la fuente. También puede reemplazar 'write (int)' con 'write (char)' en Java (que algunos códigos cambian) pero definitivamente necesita volver a compilarlo. Sugeriría que use 'append' si no tiene preferencia. La razón por la que tiene este nombre es ser consistente con StringBuffer, que siempre usaba append. StringBuilder/StringBuffer/Writer comparten la interfaz Appendable ahora. –