Anda di halaman 1dari 18
C ONVERSIONES EN JAVA Lic. Jorge Guerra Guerra

CONVERSIONES EN JAVA

Lic. Jorge Guerra Guerra

C ONVERSIONES EN JAVA Lic. Jorge Guerra Guerra
C ONVERSIONES EN JAVA Lic. Jorge Guerra Guerra

Lic. Jorge Guerra

CONVERSIONES DE TIPOS

  • Hay situaciones en las cuales se tiene un valor de un tipo dado y se desea almacenar ese valor en una variable de un tipo diferente.

  • En

algunos

tipos

es

posible

almacenar

simplemente el valor sin una conversión de tipos; lo

que se denomina conversión automática.

 
  • Esto sólo

es

posible

en

algún

lenguaje

de

programación, si el compilador reconoce que la

variable destino tiene la suficiente precisión para contener el valor origen.

2
2

TIPOS BÁSICOS EN JAVA

Lic. Jorge Guerra 3
Lic. Jorge Guerra
3

CONVERSIONES

Lic. Jorge Guerra 4
Lic. Jorge Guerra
4

Lic. Jorge Guerra

FUNCIONES TOXXXSTRING

  • Los contenedores de datos int y long, permiten cambiar de base los valores contenidos:

    • Métodos estáticos

    • Retornan un String con el valor convertido a la base deseada

String s3 = Integer.toHexString(254); String s4 = Long.toOctalString(254);

5
5

CONVERSIONES

Lic. Jorge Guerra 6
Lic. Jorge Guerra
6

OBJETOS CONTENEDORES DE DATOS

Lic. Jorge Guerra 7
Lic. Jorge Guerra
7

Lic. Jorge Guerra

USO DE WRAPPERS

  • Todos los wrappers, excepto la clase Character,

proveen dos constructores.

  • Uno que recibe el dato en su forma primitiva.

  • Uno que recibe el dato en String

Integer i1 = new Integer(42);

Integer i2 = new Integer("42"); Float f1 = new Float(3.14f);

Float f2 = new Float("3.14f");

Character c1 = new Character('c'); Boolean b = new Boolean("false");

8
8

Lic. Jorge Guerra

MÉTODOS XXXVALUE

  • xxxValue define una familia de métodos sin argumentos y que devuelven un tipo de dato

primitivo (36 en total).

  • Útiles cuando se desea convertir un número a diferentes tipo de datos primitivos.

Integer i2 = new Integer(42); byte b = i2.byteValue(); short s = i2.shortValue();

double d = i2.doubleValue();

Float f2 = new Float(3.14f); short s = f2.shortValue(); //s=3 truncado

9
9

Lic. Jorge Guerra

FUNCIONES PARSEXXX

  • Familia de métodos que reciben un String y lo pasan a un tipo de dato primitivo. Están presentes

en cada clase wrapper (6 en total).

  • double d4 = Double.parseDouble("3.14");

  • long L2 = Long.parseLong("101010", 2);

10
10

Lic. Jorge Guerra

FUNCIÓN VALUEOF

  • Son métodos estáticos que se proveen en la mayoría de las clases de wrappers.

    • Su función es interpretar un argumento String como un objeto.

    • Algunas clases de wrappers tienen esta función con un argumento adicional que indica la base de conversión.

Integer i2 = Integer.valueOf("101011", 2); //43 en base 2 Float f2 = Float.valueOf("3.14f");

11
11

Lic. Jorge Guerra

FORMAS DE CONVERSIÓN

  • Conversión de String a tipo de dato primitivo:

    • Si falla arroja una excepción:

NumberFormatException.

  • Se puede hacer la conversión mediante el constructor, o llamando un método estático que provee cada clase. Cual es más optimo?

Integer objInt = new Integer("42"); int i = objInt.getIntValue(); Int i = Integer.parseInt(“42”);

12
12

CONVERSIONES

Lic. Jorge Guerra 13
Lic. Jorge Guerra
13

CONVERSIONES

Lic. Jorge Guerra 14
Lic. Jorge Guerra
14

Lic. Jorge Guerra

FUNCIONES TOSTRING

  • Existen dos tipos de funciones toString en los

contenedores de datos:

  • toString que sobre escribe el método toString de la clase padre Object.

    • public String toString(){}

    • Requiere instanciación

    • Devuelve la representación en String del valor del tipo de dato primitivo

  • public static String toString(String str):

    • sobrecarga de la funcion toString original, sólo que no requiere instanciación.

    • Existe una sobrecarga que recibe como segundo argumento la base para la conversión.

  • 15
    15
    Lic. Jorge Guerra 16
    Lic. Jorge Guerra
    16
    Lic. Jorge Guerra 17
    Lic. Jorge Guerra
    17

    Lic. Jorge Guerra

    CONVERSION DE OBJETOS

    • Utiliza instanceof para verificar el tipo de objeto.

    • Restablecer la funcionalidad total de un objeto mediante una conversión.

    • Comprobar la conversión apropiada con:

    • La conversión hacia clases superiores en la jerarquía se hace implícitamente (con una asignación).

    18
    18