El entorno de desarrollo Java proporciona dos clases para manipular y almacenar datos del tipo car�cter: String, para cadenas constantes, y StringBuffer, para cadenas que pueden cambiar.
String se utiliza cuando no se quiere que cambie el valor de la cadena. Por ejemplo, si escribimos un m�todo que necesite una cadena de caracteres y el m�todo no va a modificar la cadena, deber�amos utilizar un objeto String. Normalmente, querremos utilizar Strings para pasar caracteres a un m�todo y para devolver caracteres desde un m�todo. El m�todo reverseIt() toma un String como argumento y devuelve un String.
La clase StringBuffer proporcinada para cadenas variables; se utiliza cuando sabemos que el valor de la cadena puede cambiar. Normalmente utilizaremos StringBuffer para constuir datos de caracteres como en el m�todo reverseIt().
Como son constantes, los Strings son m�s econ�micos (utilizan menos memoria) que los StringBuffers y pueder ser compartidos. Por eso es importante utilizar String siempre que sea apropiado.