Number
类可用于克服数值数据类型转换。
在这种情况下,可以使用以下代码:
long a = ((Number)itr.next()).longValue();
我准备了下面的例子:
到例子 - 1Object
long
// 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
到示例 - 2double
// 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
举个例子 - 3
小心这个简单的错误!如果使用函数转换浮点值,则第一个值可能不等于最终值。
如下所示 != 。double
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
到示例 - 4float
// 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