一,Number

java中number型数据怎么定义 java的number类_值类型


java.lang.Number 类是抽象类,用于表示各种数值类型的对象。它是 Java 中所有数值类型的包装类的超类。Number 类主要有以下几个特点和作用:

  1. 抽象类Number 类是一个抽象类,不能直接实例化,但可以用作其他数值类型的基类。
  2. 超类Number 类是整个数值类型包装类层次结构的超类。Java 中的所有数值包装类(IntegerLongFloatDoubleByteShort)都直接或间接继承自 Number 类。
  3. 提供常用方法Number 类提供了一些抽象方法,用于获取不同数值类型的值,如 doubleValue()floatValue()intValue()longValue() 等。这些方法允许将一个数值对象转换为对应的基本数据类型的值。
  4. 通用性:由于 Number 类是各种数值包装类的超类,因此它可以作为一个通用的引用类型,用于存储各种数值类型的对象。这种通用性使得在需要处理不同数值类型的场景中更加灵活。
  5. 自动装箱与拆箱:在 Java 中,基本数据类型可以自动装箱为对应的包装类型,而包装类型也可以自动拆箱为对应的基本数据类型。因此,Number 类的子类(如 IntegerDouble 等)可以与基本数据类型之间自由转换,提供了更方便的数值处理方式。

总之,Number 类在 Java 中扮演着重要的角色,它为处理不同数值类型提供了一种统一的接口,使得数值操作更加灵活和方便。

原文介绍

java中number型数据怎么定义 java的number类_java_02

这里有说到请阅读官网文档

java中number型数据怎么定义 java的number类_值类型_03


java中number型数据怎么定义 java的number类_值类型_04

官方文档
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Number.html

我们得以看出Number还是有很多孩子的

AtomicInteger, AtomicLong, BigDecimal, BigInteger, Byte, Double, DoubleAccumulator, DoubleAdder, Float, Integer, Long, LongAccumulator, LongAdder, Short

接下来我来进行验证到底是真孩子还是假冒伪劣产品

java中number型数据怎么定义 java的number类_开发语言_05


果然,它的孩子还是挺多的。言归正传,开始介绍哈哈哈

二,Number的方法

java中number型数据怎么定义 java的number类_开发语言_06

java中number型数据怎么定义 java的number类_java_07

当然,让我们从头开始逐个介绍java.lang.Number类中的方法。

  1. byte byteValue()
  • 返回值类型:byte
  • 方法说明:将Number对象转换为byte类型的值。
  • 用法示例:
Number num = 10;
byte b = num.byteValue();
System.out.println(b); // 输出 10
  1. short shortValue()
  • 返回值类型:short
  • 方法说明:将Number对象转换为short类型的值。
  • 用法示例:
Number num = 20;
short s = num.shortValue();
System.out.println(s); // 输出 20
  1. int intValue()
  • 返回值类型:int
  • 方法说明:将Number对象转换为int类型的值。
  • 用法示例:
Number num = 30;
int i = num.intValue();
System.out.println(i); // 输出 30
  1. long longValue()
  • 返回值类型:long
  • 方法说明:将Number对象转换为long类型的值。
  • 用法示例:
Number num = 40;
long l = num.longValue();
System.out.println(l); // 输出 40
  1. float floatValue()
  • 返回值类型:float
  • 方法说明:将Number对象转换为float类型的值。
  • 用法示例:
Number num = 50;
float f = num.floatValue();
System.out.println(f); // 输出 50.0
  1. double doubleValue()
  • 返回值类型:double
  • 方法说明:将Number对象转换为double类型的值。
  • 用法示例:
Number num = 60;
double d = num.doubleValue();
System.out.println(d); // 输出 60.0

这些方法允许在不同类型的数字之间进行转换,方便在程序中进行数字类型的操作和处理。请注意,Number类本身是抽象的,因此不能直接实例化,但可以通过其子类如IntegerDouble等来实例化对象并使用这些方法。

其实讲到这里其实已经差不多了。父类定义好之后,子类可以进行重写或者使用父类的,这个我就不一一介绍是什么原因了,毕竟这个文章能看懂的也是Java工程师了,如果不懂得话后期我单独写一篇文章什么是继承(extends)和实现(implements)