Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Conceptos
Muchas veces nos encontramos con problemas de conversión de tipos de datos, principalmente
cuando le solicitamos datos al usuario el API de java nos provee clases útiles para manejar estas
situaciones.
xxxValue()
parseXxx()
valueOf()
toString()
xxxValue()
Cuando se necesita el valor númerico de un envolvente a un primitivo podemos utilizar cualquiera
de los muchos métodos xxxValue().
Ejemplo:
Integer var = new Integer(42);
byte b = var.byteValue();
short s = var.shortValue();
double d = var.doubleValue();
parseXxx() y valueOf()
Ambos parseXxx() y valueOf() toman un String como argumento y arrojan NumberFormatException
si la cadena no esta formada propiamente, y pueden convertir objetos String a diferentes bases
numéricas (radix). La principal diferencia de estos métodos es:
Ejemplo:
double d4 = Double.parseDouble("3.14");
long L2 = Long.parseLong("101010", 2); // El resultado es 42
toString()
la clase Object la clase principal de java contiene el método toString(). La idea de este método es
obtener una representación significativa de un objeto dado. Este método nos regresa una cadena
con el valor del primitivo envuelto en el objeto.
Ejemplo:
Double d = new Double("3.14");
System.out.println("d = "+ d.toString() ); //El resuktado es: d = 3.14
Final del formulario
autoboxing
Submitted by ezamudio on Jue, 01/20/2011 - 13:24.
También valdría la pena hablar de autoboxing, característica introducida en Java 5, donde se
hacen conversiones "automágicas" entre por ejemplo int e Integer, long y Long, boolean y Boolean,
etc...
// Imprimir Valores
prt(wi2);
prt(wl2);
prt(wf2);
prt(wd2);
Clase Capsulas
Como en todo programa Java , primeramente se define la Clase a través del
vocablo class.
Se define el método principal main y dentro de éste se generan diversos campos
("fields"), nótese que en algunas declaraciones se emplea un sufijo para definir el valor
del primitivo (L,l,F,f,D,d), lo anterior se hace con la finalidad de asignar un espacio
apropiado para futuras manipulaciones numéricas.
Uso de Sufijos
Aunque el uso de sufijos no es obligatorio, su uso se hace más evidente cuando los primitivos
son empleados para realizar operaciones matemáticas con mayor precisión.
Tomemos un número definido como 14D, aunque el número catorce bien pudiera ser un entero
(int) éste se esta definiendo como un número double a través del sufijo, esto permite que el
número sea manipulado con otros primitivos double sin perder precisión, esta pérdida de
precisión será ilustrada a continuación.
Posteriormente, se inicializan cuatro "Wrappers" a través de los primitivos definidos
anteriormente.
Seguido se emplean una serie de declaraciones con el método prt para imprimir
valores a pantalla; en esta serie de declaraciones se manda imprimir el valor de los
"Wrappers" definidos anteriormente a través de métodos auxiliares xxxxValue().
Dichos métodos auxiliares se encuentran disponibles para todo "Wrapper" de primitivo
y permiten restringir el rango del mismo, esto en términos computacionales es
conocido como "Casting" (Concepto ilustrado a más detalle en otra sección de este
curso); mediante esta utilización de "Casting" se puede ilustrar la pérdida de exactitud
en primitivos, tal sería el caso al realizar un "Cast" de double a int.
Posteriormente son definidos cuatro "String's" con valores numéricos.
Se declara otra serie de "Wrappers" que son inicializados a través de los "String's"
definidos anteriormente.
Son impresos a pantalla (a través de prt) los valores de los "Wrappers", en la primer
serie como "Wrappers" directamente y en la segunda serie manipulados hacia
"String's" mediante el método auxiliar toString() disponible en todo "Wrapper".
Se inicializan otra serie de "Wrappers" con primitivos 0 (cero)
Son impresos a pantalla los valores de estos últimos "Wrappers" como primitivos a
través de los "String's" definidos previamente, dicha impresión de "String's" como
primitivos se logra a través de los métodos auxiliares parseXXX.
Finalmente son definidos una serie de métodos prt que toman distintos argumentos
de entrada ; el diseño de estos métodos prt es conocido como overloading, concepto
que será ilustrado a detalle en una futura sección del curso.
Contenido
int AtomicInteger
long AtomicLong
boolean AtomicBoolean
V AtomicReference<V>
Referencias [ editar ]
1. Jump up^ SJ Chapman, Introducción a Java , Prentice Hall,
1999.
2. ^ Jump up to:a b c J. Murach, Programación Java de Murach ,
4ª edición, Mike Murach and Associates, Inc., 2011.
3. Jump up^ JR Hubbard, Programación con Java , serie de
contornos de Schaum / McGraw Hill, 1998.
4. Jump up^ David O'Meara (abril de 2003). "Objetos
mutables e inmutables: ¿qué clases son inmutables?" . Java
Ranch . Consultado el 2012-05-14 . Las clases
java.math.BigInteger y BigDecimal tampoco son inmutables,
aunque quizás deberían haberlo sido.
5. Jump up^ Oracle. "Documentación de Java desde
Oracle" . Enteros de precisión arbitraria inmutables.
Categorías :
Java (lenguaje de programación)