java.lang.Numberpublic abstract class Number implements java.io.Serializablert.jar1.0Number 是平台类(platform classes)的超类,代表可转换为原始类型 byte,double,float,int,long 和 short 的数值。Number 实现的数值到给定原始类型的转换的特定语义由 Number 实现定义。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;
}
}
原文:https://www.cnblogs.com/huangwenjie/p/14308651.html