Number
класс может использоваться для преодоления числового типа данных.
В этом случае может использоваться следующий код:
long a = ((Number)itr.next()).longValue();
Я подготовил примеры ниже:
Object
до long
пример - 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() );
Консоль Вывод будет:
1416313200307
Object
до double
пример - 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");
Консоль Вывод будет:
0.11
Object
до double
пример - 3
Будьте осторожны с этой простой ошибкой ! Если значение с плавающей запятой преобразуется с помощью функции doubleValue()
, первое значение может не совпадать с конечным значением.
Как показано ниже 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");
Консоль Вывод будет:
0.10999999940395355
Object
до float
пример - 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");
Консоль Вывод будет:
0.11