Conversión de tipos en Java

2020-03-22 Java

En java existe una cantidad considerable de tipos de conversiones que considerar cada uno de los posibles escenarios de convesión. En el presente post, veremos los que considero son los más relevantes y/o utilizados.

Conversión de Ampliación Primitiva

Este tipo de conversión hace referencia conversiones específicas realizadas hacia tipos numéricos. Recordemos que los tipos de datos numéricos tienen un tamaño y un rango específico. Te invitamos a darle una chequeada a nuestro post Tipos de datos en Java para que veas una tabla resumen con las características más importantes de cada tipo de dato. A continuación verás la tabla de conversión para cada tipo.

Tipo inicial Tipo final
byte short, int, long, float, double
short int, long, float, double
char int, long, float, double
int long, float, double
long float, double
float double

Este tipo de conversión no presenta pérdida de información en magnitud de un tipo a otro. A continuación se realiza la conversión de un entero a float.

class Test {
    public static void main(String[] args) {
        int big = 1234567890;
        float approx = big;
        System.out.println("Integer: " + big + "\n");
        System.out.println("Float: " + approx + "\n");
    }
}

Conversión de Estrechamiento Primitiva

Este tipo de conversión se presenta cuando se quiere convertir un tipo de dato con un rango mayor a uno meno. Es el caso opuesto de la convesión de amplicación primitiva. A continuación verás la tabla de conversión para cada tipo.

Tipo inicial Tipo final
short byte, char
char byte, short
int byte, short, char
long byte, short, char, int
float byte, short, char, int, long
double byte, short, char, int, long, float

Este tipo de conversión puede presentar pérdida de información en magnitud de un tipo a otro.

class Test {
    public static void main(String[] args) {
        float n = 100.04;
        int k = n;
        System.out.println("Float: " + n + "\n");
        System.out.println("Integer: " + k + "\n");
    }
}

Conversión de Envoltura o empaquetado

Este tipo de conversión transforma una expresión con un tipo de dato primitivo en una expresión con un tipo de dato de referencia. Para esto, Java está provisto de las Clases de Envoltura (Wrapper Classes). Veamos un ejemplo.

class Test {
    public static void main(String[] args) {
        String s = "156.4";
        Double d = Double.parseDouble(s);
        System.out.println("String: " + s + "\n");
        System.out.println("Double: " + d + "\n");
    }
}

Acerca de Darío Rivera

Author

Ingeniero de desarrollo en PlacetoPay , Medellín. Darío ha trabajado por más de 6 años en lenguajes de programación web especialmente en PHP. Creador del microframework DronePHP basado en Zend y Laravel.

Sólo aquellos que han alcanzado el éxito saben que siempre estuvo a un paso del momento en que pensaron renunciar.