La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Qué es java.lang? Clase Object Wrapper Classes Utilidades de Conversión de tipos Clase String Clase StringBuffer Clase Math.

Presentaciones similares


Presentación del tema: "Qué es java.lang? Clase Object Wrapper Classes Utilidades de Conversión de tipos Clase String Clase StringBuffer Clase Math."— Transcripción de la presentación:

1

2

3 Qué es java.lang? Clase Object Wrapper Classes Utilidades de Conversión de tipos Clase String Clase StringBuffer Clase Math

4 Se importa automáticamente en tiempo de compilación. Contiene a la clase Object y las Wrapper Provee objetos para interactuar con la JVM Contiene clases que proveen: los streams de entrada, salida y error (System), manejo de cadena de caracteres (String, StringBuffer) funciones matemáticas (Math)

5

6 MétodoDescripción boolean equals(Object o)Define si dos objetos son equivalentes. void finalize()Llamado por el Garbage Collector, cuando el Garbage Collector detecta que un objeto no puede ser referenciado. int hashCode()Retorna un código para un objeto, para que el objeto pueda ser usado en una clase Collection que utilice un Hashtable, HashMap o HashSet. final void notify()Activa un hilo que esta esperando para obtener el bloqueo de un objeto. final void notifyAll()Activa todos los hilos que están esperando para obtener el bloqueo de un objeto. final void wait()Provoca que el hilo actual espere hasta que otro hilo ejecute el método notify o notifyAll. String toString()Retorna una Representación de texto del objeto.

7 Los tipos primitivos no son objetos Para poder manipularlos como objetos java.lang provee clases wrapper para cada tipo primitivo

8 Todas las clases Wrapper son inmutables (su estado no puede cambiar) Adicionalmente definen constantes útiles

9 Todas las clases wrapper a excepción de Character tienen 2 constructores: Uno que recibe el tipo primitivo que se quiere construir Otro que recibe la representación en String del tipo que se quiere construir Integer i1 = new Integer(42); Integer i2 = new Integer("42"); o Float f1 = new Float(3.14f); Float f2 = new Float("3.14f");

10 La clase Character provee un solo constructor que recibe un char: Character c1 = new Character('c'); El constructor del objeto Boolean recibe un boolean o un string (case insensitive) con el valor true o false El objeto Boolean no puede ser usado en una condición: Boolean b = new Boolean(true); if (b) { …} // No compila, espera un boolean y no un Boolean

11 Los métodos estáticos valueOf( ) presentes en la mayoría de las clases wrapper, proveen otra forma de construir estos objetos: valueOf(String arg0, int base) // convierte a 43 y // asigna el valor 43 a i2 Integer i2 = Integer.valueOf("101011", 2); valueOf(String arg0) // asigna 3.14 a f2 Float f2 = Float.valueOf("3.14f");

12 Una funcionalidad importante de los wrappers es convertir tipos de datos xxxValue() Cuando se quiera convertir un wrapper a un tipo primitivo se puede utilizar alguno de los métodos xxxValue() Integer i2 = new Integer(42); // crea un nuevo objeto wrapper byte b = i2.byteValue(); // convierte el valor de i2 a un byte short s = i2.shortValue(); // otro de los métodos xxxValue double d = i2.doubleValue();

13

14

15

16 Ambos reciben un String como argumento Lanzan una NumberFormatException si el String no tiene la forma esperada Pueden convertir Strings en bases diferentes La diferencia es que: parseXxx() retorna un tipo primitivo valueOf retorna un objeto wrapper

17 La clase Object tiene el método toString(), heredado por todas las demás clases La idea del método es dar una representación del objeto que tenga cierto sentido Adicionalmente los wrappers agregan un toString estático que recibe el tipo primitivo correspondiente y retorna el String que lo representa

18 Las clases Integer y Long permiten convertir números en base 10 a otras bases Estos métodos toXxxString toman un int o un long y retornan un String que lo representa: String s3 = Integer.toHexString(254); // convierte 254 a hexa System.out.println("254 in hex = " + s3); // el resultado es "254 in hex = fe" String s4 = Long.toOctalString(254); // convierte 254 a octal System.out.println("254 in octal = "+ s4); // el resultado es "254 in octal = 376"

19 Problema (versiones previas a J2SE5.0) Pasar de un tipo primitivo a tipo wrapper y viceversa. La forma de hacerlo era: Integer j = new Integer(12); Int I = j.intValue(); Problemas: por ejemplo al manejar colecciones con tipos primitivos. Estas solo aceptan objetos.

20 Solución – El compilador trabaja por nosotros: Byte byteObj = 22; // Autoboxing conversion int i = byteObj // Unboxing conversion ArrayList al = new ArrayList (); al.add(22); // Autoboxing conversion

21 Los Strings son objetos inmutables. Cada carácter en un String es un char Unicode de 16 bits. En Java los Strings son objetos String s = new String(); s = abcdef Variantes String s = new String(abcdef); String s = abcdef

22 El objeto no puede cambiar La referencia al objeto si puede cambiar

23

24

25

26 public char charAt(int index) public String concat(String s) public boolean equalsIgnoreCase(String s) public int length() public String replace(char old, char new) public String substring(int begin) public String substring(int begin, int end) public String toLowerCase() public String toUpperCase() public String trim()

27 Utilizada cuando se deben realizar muchas modificaciones a una cadena de caracteres Si bien los Strings son inmutables, el StringBuffer puede ser modificado sin dejar una gran cantidad de Strings inutilizados en memoria

28 Utilizando StringBuffer: StringBuffer sb = new StringBuffer("abc"); sb.append("def"); System.out.println("sb = " + sb); // la salida es "sb = abcdef"

29 public synchronized StringBuffer append(String s) public synchronized StringBuffer insert(int offset, String public synchronized StringBuffer reverse()

30 Utilizada para realizar operaciones matemáticas. Define aproximaciones para las constantes matemáticas pi y e public final static double Math.PI public final static double Math.E Todos los métodos definidos en Math son static.

31 abs() – retorna el valor absoluto. ceil() – retorna el redondeo hacia arriba. floor() – retorna el redondeo hacia abajo.

32 max() – retorna el máximo min() – retorna el mínimo

33 random() Retorna un double entre 0.0 y 1.0 round() Redondea al valor más cercano sin() representa un ángulo en radianes. Los grados pueden convertirse a radianes utilizando Math.toRadians(double g)

34 cos() – función coseno tan() - función tangente sqrt() – función raíz cuadrada Retorna NaN (Not a Number) en lugar de un resultado complejo public static double sqrt(double a) toDegrees() Recibe un argumento representando un ángulo en radianes public static double toDegrees(double a) toRadians() Recibe un argumento representando un ángulo en grados public static double toRadians(double a)

35

36

37 Qué es java.lang? Clase Object y sus características Wrapper Classes: qué son? Cómo se usan? Utilidades de Conversión de tipos Clase String: características Clase StringBuffer: características Clase Math: características

38 Thinking in Java Bruce Eckel The Java Tutorial


Descargar ppt "Qué es java.lang? Clase Object Wrapper Classes Utilidades de Conversión de tipos Clase String Clase StringBuffer Clase Math."

Presentaciones similares


Anuncios Google