1. Wrapper classes (clases envoltura).
- Clases que proveen métodos de objeto a los 8 tipos de datos primitivos de java. Se encuentran el el paquete java.lang.
- Clases wrapper, su constructor y su correspondiente tipo primitivo: Byte(byte ó String) – byte, Short(short ó String) – short, Integer(inst ó String) – int, Long(long ó String) – long, Float(float, double ó String) – float, Double(double ó String) – double, Character(char) – char, Boolena (boolean ó String) – boolean.
- “Encajonamos o envolvemos” (box) tipos primitivos en las clases wrapper, y “sacamos o desenvolvemos” (unbox) los primitivos de la clase wrapper. Autoboxing es la conversión automática del tipo primitivo al wrapper (ej. int a Integer), unboxing es la conversión automática de la clase wrapper a su primitivo correpondiente (ej. Integer a int). Autoboxing (y unboxing) sólo pueden hacerse entre los datos primitivos y sus correspondientes wrappers, es decir entre un Integer y un int, un Float y un float, etc.; no se puede entre un Integer y un short, un Double y un float, etc.
2. String, StringBuilder y StringBuffer.
- La clase String una vez que toma un valor es inmutable. Su contenido no cambia. Las literales String no se repiten, el compilador solo hace una copia, es decir si existe la literal “Version” varias veces en el código, el compilador sólo guardará una. Sin embargo, varios objetos String pueden contener la misma cadena de caracteres, por ejemplo:
String s1 = new (“Version”);
String s2 = new(“Version”); s
Métodos importantes de String: charAt() , concat(), equalsIgnoreCase(), length(), replace(), substring(), toLowerCase(), toString(), toUpperCase() y trim(). - La clase StringBuffer, al contrario, su valor puede cambiar. Métodos importantes: append(), reverse(), toString()
- La clase StringBuilder es idéntica a StringBuffer con la diferéncia que la primera los metodos no son sincronizados, es decir no es segura en multihilos o concurrencia. Métodos importantes: delete(), insert(), toString().