20210122 java.lang.Number

java.lang.Number

基本信息

  • public abstract class Number implements java.io.Serializable
  • rt.jar
  • 引入版本:1.0

使用说明

  • 抽象类 Number 是平台类(platform classes)的超类,代表可转换为原始类型 bytedoublefloatintlongshort 的数值。
  • 从特定 Number 实现的数值到给定原始类型的转换的特定语义由 Number 实现定义。
  • 对于平台类,该转换通常类似于 Java™ 语言规范中定义的用于在原始类型之间进行转换的变窄的原始转换或变宽的原始转换。
  • 因此,转换可能会丢失有关数值总大小的信息,可能会丢失精度,甚至可能返回与输入不同的符号结果。
  • 可以获取到 8 种基本类型中除了 charboolean 的其他 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