Clases Envolventes

Clases envolventes - Wrapper clases Los wrapper no son más que clases que modelan los tipos de datos primitivos tales co

Views 67 Downloads 0 File size 198KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Clases envolventes - Wrapper clases Los wrapper no son más que clases que modelan los tipos de datos primitivos tales como enteros y flotantes, que son los únicos elementos en Java que no son clases. Cabe destacar una diferencia notable entre los tipos primitivos y sus wrapper: Los tipos primitivos se pasan como argumento a los métodos por valor, mientras que los objetos se pasan por referencia. Esto implica una ventaja en cuanto a eficiencia.

Principales funciones en java Proveen un mecanismo para envolver (wrap) valores primitivos en un objeto, de esta manera los datos primitivos pueden tener actividades o comportamientos que son reservados solo para los objetos (como ser agregados a una colección o ser retornados de un método como simple Object). Proveen funciones útiles para realizar conversiones: a cadena, cambiar de base numérica(octal, hexadecimal), u otros tipos primitivos. Para cada tipo primitivo existe una clase envolvente, nombrada igual que su dato primitivo pero su nombre empieza con mayuzcula. Estas clases se encuentran en java.lang, derivan de Number que deriva de Object. Métodos Para realizar conversiones podemos utilizar algunos métodos:

xxxValue()

Cuando se necesita el valor númerico de un envolvente a un primitivo podemos utilizar cualquiera de los muchos métodos xxxValue().

Integer var = new Integer(42);

byte b = var.byteValue(); short s = var.shortValue(); double d = var.doubleValue();

parseXxx() y valueOf()

parseXxx() y valueOf() toman un String como argumento y arrojan NumberFormatException si la cadena no esta formada propiamente, y pueden convertir objetos String a diferentes bases numéricas. La principal diferencia de estos métodos es:

// parseXxx() - regresa el primitivo nombrado. // valueOf() - regresa un nuevo objeto wrapped del tipo del que fue invocado. double d4 = Double.parseDouble("3.14"); long L2 = Long.parseLong("101010", 2); // El resultado es 42 Long L3 = Long.valueOf("101010", 2); // El resultado es 42 toString() La idea de este método es obtener una representación significativa de un objeto dado. Este método nos regresa una cadena con el valor del primitivo envuelto en el objeto. Double d = new Double("3.14"); System.out.println("d = "+ d.toString()); //El resultado es:d = 3.14 Ejemplo public class NewClass { public static void main(String args[]) { Integer i = new Integer(5); String s = "250.47"; System.out.println("Valor de i es: "+ i.toString()); System.out.println("Valor de s es: "+ Float.parseFloat(s)); Float f = Float.valueOf(s); float primitivoFloat = f.floatValue(); int primitivoInt = f.intValue(); System.out.println("Valor del primitivo float es: " + primitivoFloat); System.out.println("Valor del primitivo int es: " + primitivoInt); } }

CLASE DOUBLE 

Cuales campos contiene ( variable o constantes ).

R= Constantes Cada tipo numérico tiene su propia clase de objetos. Así el tipo double tiene el objetoDouble . De la misma forma que con la clase Character , se han codificado muchas funciones útiles dentro de los métodos de la clase Double . Declaraciones La primera sentencia creará una variable double y la segunda un objeto Double: double d; Double D; Valores de Double Double.POSITIVE_INFINITY Double.NEGATIVE_INFINITY Double.NaN Double.MAX_VALUE Double.MIN_VALUE Métodos de Double D.isNaN(); Double.isNaN( d ); D.isInfinite(); Double.isInfinite( d ); boolean D.equals(); String D.toString(); int D.intValue(); long D.longValue(); float D.floatValue(); double D.doubleValue(); int i = D.hashCode(); Double V.valueOf( String s ); long l = Double.doubleToLongBits( d ); double d = Double.longBitsToDouble( l );