## ¿Por qué dos Clases String?

    class ReverseString {
        public static String reverseIt(String source) {
            int i, len = source.length();
            StringBuffer dest = new StringBuffer(len);

            for (i = (len - 1); i >= 0; i--) {
                dest.append(source.charAt(i));
            }
            return dest.toString();
        }
    }

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.

Ozito