Veamos otro ejemplo de conversión de datos de tipos de primitivos primitivos, por ejemplo, cómo convertir
un tipo integer un entero de 32 bits en un chord de 16.
Por lo tanto, según el valor que coloquemos, podríamos tener o no pérdida de información.
Pero bien, veamos por acá en la misma clase que teníamos antes.
Conversión de tipos por acá abajo Quint le vamos a llamar y igual, por ejemplo, 10000 y quiero convertir
este entero en un tipo de chord.
Entonces Chord s t chord igual y le voy a pasar el valor, la variable entera, pero que nos dice que
requiere un tipo de chord y le estamos pasando un tipo intuya.
Entonces la forma de convertir es utilizar un cast, es decir, forzar la conversión utilizando paréntesis
ante puestos.
Acá antepuesto a la variable parentesis y el tipo dato, pero bien, acá marca error porque son tipos
incompatibles.
Un tipo integer es mucho más grande en tamaño 32 bits versus el chord que solamente 16.
Entonces podría haber pérdida de información, pérdida de datos y marca este error, pero se puede hacer,
es decir, forzar la conversión.
Pero incluso acá vamos a ver otro ejemplo con lonko.
Por ejemplo, a colocar l igual y significan el log no marca error porque tenemos un tipo integer que
es menor que el tipo lonko de menor tamaño.
Por lo tanto, si puedo asignar un tipo integer en un tipo log, porque ahí me aseguro de que no hay
pérdida de información, así que hacia arriba con tamaños mayores no hay ningún problema, pero con
tamaños menores va a marcar error.
Pero de todas formas puedo hacer caso con los paréntesis y el tipo auto chord.
Es decir, voy a forzar convertir este entero a un tipo de chord.
Eso se llama cast o castin, forzar la conversión.
Vamos a mostrar en la consola y también el lomo.
Levantamos.
Entonces acá tenemos el Chord 10000 y el log 10000 lo convirtió perfecto, sin ningún problema.
Y esto porque recuerden que el chord soporta mucho más que 10000, el máximo que soporta el MAKS Balbino
32 1007 68.
Por lo tanto, si lo forzamos con el cast, lo realiza bien.
No hay perder información de que puede almacenar 10 mil en un tipo de chord.
Por ejemplo, Yor Punto Max Valio acá tenemos 32 1007 67.
Vamos a levantar.
Qué pasa si colocamos este número acá?
El máximo que soporta York de todas forma y vuelve a estar bien porque lo soporta, es el máximo, inclusive
entonces el chord y el lock.
Ningún problema lo soportan bien.
Pero qué pasa si colocamos uno más?
68?
Ahí no pasamos.
Estamos tratando de convertir un entero a un chord, pero un entero con un valor mayor al que soporta.
El tipo es Chord, por lo tanto, obviamente va a existir pérdida de información backer, ambigüedad
en la conversión y esto lo permite el compiler de Java de que a pesar de que no marca error, acá si
quitamos esto de que es un tipo menor nos marca error, pero al forzar estamos obligando a la conversión.
Entonces queda finalmente a criterio nuestro si lo convertimos o no, tomando el riesgo, por supuesto,
de perder información justamente como en este caso, entonces vamos a levantar.
Si se fijan, convierte bien el lonko, pero el chord lo deja negativo, queda completamente ambiguo.
Por ejemplo, si dejamos en 42000.
Ya mucho mayor.
Bueno, va a seguir siendo ambigua, la conversión queda en menos 22 1007 68, es decir, no es capaz
de convertir este entero en un tipo hecho y es imposible porque no cabe, no cabe duda, que sobrepasa
el tamaño máximo del choc.
Entonces, por eso, como criterio, siempre tenemos que convertir valores que sí soportan los tipos
de datos con menor capacidad.
Entonces, por ejemplo, estaría perfecto colocar 12 o 22, por ejemplo, en vez de 42.
Decir cualquier vale que sea menor a 30 y 2007 67 al máximo del chart.
Entonces ahí lo convierteen con el caso, pero siempre usando caset.
Esa sería la forma de convertir en tres primitivos.
Ahora, claro, entre primitivo que sean, del mismo tipo de los tipos numéricos Víctor, Chord y Lonko,
y también decimales o números reales como el float y el doble.
Pero claro, si quiere convertir a otro tipo, por ejemplo a un char o a un bullían, por ejemplo,
no bullían.
Ve igual.
Así todo no se puede convertir porque son tipos completamente incompatibles.
No se puede castigar un hint a un volia.
Bueno, ducharse.
Pero veamos el resultado.
Hoy lo convierte en chat.
Pero recuerde que el chat también soporta enteros, es decir, cada carácter único está asociado a un
valor entero.
Ahora, qué pasa con un decimal, por ejemplo, con un float?
EFE.
Bueno, también se puede convertir a 22 7 68 punto cero.
Vamos a imprimir subi.
Perfecto.
Se fijan con tipos compatibles.
Se puede entonces para resumir en primitivo solamente podemos ser caset a tipo numérico, incluyendo
los números reales float y el doble, y el chat también se soporta.
Como vimos, un carácter T.M.
Se puede representar como un entero, ya que está mapeado o está asignado en la tabla Unicode a un valor
numérico.
Continuamos en la siguiente clase.