Java es un lenguaje fuertemente tipificado que permite conversiones de tipos. Las conversiones pueden ser implícitas o explícitas. Las conversiones implícitas son automáticas y ocurren cuando el tipo de destino es mayor o igual al origen, excepto entre enteros y decimales o char y numéricos. Las conversiones explícitas requieren un casting para forzar la conversión cuando no se cumple la condición implícita.