write - reader java
¿Cuál es la diferencia entre agregar y escribir métodos de java.io.writer? (6)
Como puede ver en la documentación, anexar también devuelve el Escritor que acaba de escribir para que pueda realizar varios anexos, como:
out.append(a).append(b).append(c)
La interfaz java.io.Writer tiene dos métodos llamados agregar y escribir. ¿Cuáles son las diferencias entre estos dos? Incluso dice que
Una invocación de este método de la forma
out.append(c)
comporta exactamente de la misma manera que la invocaciónout.write(c)
Entonces, ¿cuál es la razón para tener dos variantes de nombre de método?
Hay pequeñas diferencias entre añadir () y escribir (). Todo lo cual puedes trabajar leyendo los Javadocs. Insinuación. ;)
- write solo tomará un String que no debe ser nulo y devuelve
void
- append tomará cualquier CharSequence que pueda ser nulo y devolverá el Writer para que pueda ser encadenado.
write es un formato de estilo anterior creado antes de que CharSequence estuviera disponible.
Estos métodos están sobrecargados para que haya una
-
write(int)
donde elint
se lanza a un char.append(char)
debe ser un tipo char. -
write(char[] chars)
toma una matriz de char, no hay un append equivalente ().
Me parece que es un subproducto de la interfaz Appendable
que java.io.Writer
implementa para proporcionar compatibilidad con java.util.Formatter
. Como notó, la documentación señala que para java.io.Writer
no existe una diferencia práctica entre los dos métodos.
Probablemente se ajuste a la interfaz anexable: http://download.oracle.com/javase/6/docs/api/java/lang/Appendable.html
Append()
puede tomar un CharSequence
, mientras que write()
toma un String
.
Dado que String
es una implementación de CharSequence
, también puede pasar un String
a append()
. Pero también puedes pasar un StringBuilder
o StringBuffer
para append
, que no puedes hacer con write()
.
Writer.append(c)
devuelve la instancia de Writer. Por lo tanto, puede encadenar múltiples llamadas para agregar, por ejemplo, out.append("Hello").append("World")
;