La clase Number
se puede utilizar para superar la conversión de tipo de datos numéricos.
En este caso el siguiente código podría usarse:
long a = ((Number)itr.next()).longValue();
He preparado los siguientes ejemplos:
Object
along
ejemplo - 1
// preparing the example variables
Long l = new Long("1416313200307");
Object o = l;
// Long casting from an object by using `Number` class
System.out.print(((Number) o).longValue());
Consola salida sería:
1416313200307
Object
adouble
ejemplo - 2
// preparing the example variables
double d = 0.11;
Object o = d;
// Double casting from an Object -that's a float number- by using `Number` class
System.out.print(((Number) o).doubleValue() + "\n");
Console salida sería:
0.11
Object
adouble
ejemplo - 3
Tenga cuidado con esta simple error! Si se convierte un valor flotante utilizando la función doubleValue()
, el primer valor podría no ser igual al valor final.
Como se muestra a continuación 0.11
! = 0.10999999940395355
.
// preparing the example variables
float f = 0.11f;
Object o = f;
// Double casting from an Object -that's a float number- by using `Number` class
System.out.print(((Number) o).doubleValue() + "\n");
Console salida sería:
0.10999999940395355
Object
afloat
ejemplo - 4
// preparing the example variables
double f = 0.11;
Object o = f;
// Double casting from an Object -that's a float number- by using `Number` class
System.out.print(((Number) o).floatValue() + "\n");
consola salida sería:
0.11
tipo en la tabla hash no puede ser largo - debe significar largo. –