20210122 java.lang.Number
java.lang.Number
基本信息
public abstract class Number implements java.io.Serializable
rt.jar
- 引入版本:
1.0
使用说明
- 抽象类
Number
是平台类(platform classes)的超类,代表可转换为原始类型byte
,double
,float
,int
,long
和short
的数值。 - 从特定
Number
实现的数值到给定原始类型的转换的特定语义由Number
实现定义。 - 对于平台类,该转换通常类似于 Java™ 语言规范中定义的用于在原始类型之间进行转换的变窄的原始转换或变宽的原始转换。
- 因此,转换可能会丢失有关数值总大小的信息,可能会丢失精度,甚至可能返回与输入不同的符号结果。
- 可以获取到 8 种基本类型中除了
char
和boolean
的其他 6 种
公共方法
抽象方法
抽象方法 |
---|
int intValue() 以 int 形式返回指定数字的值,可能涉及舍入或截断。 |
long longValue() 以 long 形式返回指定数字的值,可能涉及舍入或截断。 |
float floatValue() 以 float 形式返回指定数字的值,可能涉及四舍五入。 |
double doubleValue() 以 double 形式返回指定数字的值,可能涉及四舍五入。 |
实例方法
实例方法 |
---|
byte byteValue() 以 byte 形式返回指定数字的值,可能涉及舍入或截断。 此实现将 intValue 的结果转换为 byte 。 |
short shortValue() 以 short 形式返回指定数字的值,可能涉及舍入或截断。 此实现将 intValue 的结果转换为 short 。 |
示例代码
public class NumberTest {
@Test
public void test() {
MyNumber myNumber = new MyNumber();
int intValue = myNumber.intValue(); // intValue :: 97
long longValue = myNumber.longValue(); // longValue :: 97
float floatValue = myNumber.floatValue(); // floatValue :: 97.0
double doubleValue = myNumber.doubleValue(); // doubleValue :: 97.0
byte byteValue = myNumber.byteValue(); // byteValue :: 97
short shortValue = myNumber.shortValue(); // shortValue :: 97
System.out.println("intValue :: " + intValue);
System.out.println("longValue :: " + longValue);
System.out.println("floatValue :: " + floatValue);
System.out.println("doubleValue :: " + doubleValue);
System.out.println("byteValue :: " + byteValue);
System.out.println("shortValue :: " + shortValue);
}
}
class MyNumber extends Number {
@Override
public int intValue() {
return 97;
}
@Override
public long longValue() {
return 97L;
}
@Override
public float floatValue() {
return 97;
}
@Override
public double doubleValue() {
return 97;
}
}