Java 简明教程

Java - Numbers Class

通常,当我们使用数字时,我们会使用基本 data types ,如 byte、int、long、double 等。

考虑以下示例:

int i = 5000;
float gpa = 13.65f;
double mask = 125;

有时,我们可能需要使用对象,而不是基本数据类型。为了实现这一点,Java 提供了 wrapper classes

所有包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类。

Java Number Class

Number 类是 java.lang 软件包中的抽象类。它是表示可转换为基本数据类型(如 byte、short、int、long、float 和 double)的数字值的类的超类。

number classes

包装类对象包含或包装其相应的基本数据类型。将基本数据类型转换为对象称为 boxing,这由编译器负责。因此,在使用包装类时只需要将基本数据类型的值传递给包装类的构造函数。

而包装器对象将被转换回基本数据类型,此过程称为拆箱。Number 类属于 java.lang 包。

以下是装箱和拆箱的一个示例 −

Example

在此示例中,我们展示了使用包装类操作基元及其运算。在第一个语句中,我们为整数对象 x 分配了一个 int,此过程称为装箱。在第二个语句中,我们为 x 添加 10,这需要将 x 拆箱为 int 并执行加法操作,并将结果分配回变量 x 并打印。

public class Test {

   public static void main(String args[]) {
      Integer x = 5; // boxes int to an Integer object
      x =  x + 10;   // unboxes the Integer to a int
      System.out.println(x);
   }
}

这会产生以下结果 −

15

当为 x 分配整数值时,编译器将此整数装箱,这是因为 x 是整数对象。稍后,对 x 进行拆箱以便将其作为整数进行加法操作。

Java Number Class Methods

以下为数字类的所有子类实现的实例方法列表 -

Sr.No.

Method & Description

1

byteValue() 此方法以字节为单位返回指定数字的值。

2

doubleValue() 此方法以双精度的形式返回指定数字的值。

3

floatValue() 此方法以浮点数的形式返回指定数字的值。

4

intValue() 此方法以整数的形式返回指定数字的值。

5

longValue() 此方法以长整形数字的形式返回指定数字的值。

6

compareTo() 将此数字对象与参数进行比较。

7

equals() 确定此数字对象是否等于参数。

8

valueOf() 返回包含指定基元值的一个整数对象。

9

toString() 返回表示指定数字值的一个字符串对象。

10

parseInt() 此方法用于获取特定字符串的基元数据类型。

11

min() 返回两个参数中的较小值。

12

max() 返回两个参数中的较大值。

Java Number: Wrapper Classes

以下是 Number 类的所有子类的包装器类列表 −

Sr.No.

Class & Description

1

Boolean Java 布尔类将原始类型布尔值包装到对象中。

2

Byte Java 字节类将原始类型字节值包装到对象中。

3

字符Java 字符类将基元类型字符的一个值包装到一个对象中。

4

Double Java 双精度类将原始类型双精度值包装到对象中。

5

Float Java 浮点数类将原始类型浮点值包装到对象中。

6

Integer Java 整数字类将基元类型整数的一个值包装到一个对象中。

7

Long Java 长整数类将原始类型长整数值包装到对象中。

8

Short Java 短整数类将原始类型短整数值包装到对象中。