通常,当要在Java编程中使用数字时,可以使用原始数据类型,如:byte
,int
,long
,double
等。
示例
int i = 5000;
float gpa = 13.65;
double mask = 0xaf;
但是,在开发过程中,我们遇到的是需要使用对象而不是原始数据类型的情况。要实现这一点,可使用Java提供的包装类。
所有包装类(如:Integer
,Long
,Byte
,Double
,Float
,Short
)都是抽象类Number
的子类。
包装类的对象包含或包装其各自的基本数据类型。将原始数据类型转换为对象称为装箱,编译器会对此进行处理。 因此,在使用包装器类时,只需将原始数据类型的值传递给包装类的构造函数就可以对它进行对应的操作。
并且包装对象将转换回原始数据类型,并且此过程称为拆箱。 Number
类是java.lang
包的一部分。
以下是装箱和拆箱的示例 -
public class Test {
public static void main(String args[]) {
Integer x = 5; // 装箱:将 int 添加到 Integer 对象
x = x + 1000; // 拆箱:将Integer 对象转为 int
System.out.println(x);
}
}
执行上面示例代码,得到以下结果:
1005
当x
赋予整数值时,编译器将整数装箱,因为x
是整数对象。 之后,x
又被拆箱,以便它们可以作为整数执行加法运算。
Number类的方法
以下是Number
类的所有子类实现方法的列表 -
编号 | 方法 | 描述 |
---|---|---|
1 | xxxValue()方法 | 将此Number 对象的值转换为xxx 数据类型并返回它。 |
2 | compareTo()方法 | 将此Number 对象与参数进行比较。 |
3 | equals()方法 | 确定此Number 对象是否等于参数。 |
4 | valueOf()方法 | 返回包含指定原始值的Integer 对象。 |
5 | toString()方法 | 返回表示指定int 或Integer 值的String 对象。 |
6 | parseInt()方法 | 返回某个String 的原始数据类型值。 |
7 | abs()方法 | 返回参数的绝对值。 |
8 | ceil()方法 | 返回大于或等于参数的最小整数,结果整数为double 类型。 |
9 | floor()方法 | 返回小于或等于参数的最大整数,结果整数为double 类型。 |
10 | rint()方法 | 返回与参数值最接近的整数,结果整数为double 类型。 |
11 | round()方法 | 返回最接近long 或int 值,由方法返回类型指示参数的返回类型。 |
12 | min()方法 | 返回两个参数中最小的那一个。 |
13 | max()方法 | 返回两个参数中最大的那一个。 |
14 | exp()方法 | 返回 e 的 x 次幂。e 代表自然对数的底数,其值近似为 2.71828 。 |
15 | log()方法 | 返回参数的自然对数。 |
16 | pow()方法 | 返回第一个参数的第二个参数的指数幂(乘方)值。 |
17 | sqrt()方法 | 返回参数的平方根。 |
18 | sin()方法 | 返回指定double 值的正弦值。 |
19 | cos()方法 | 返回指定double 值的余弦值。 |
20 | tan()方法 | 返回指定double 值的正切值。 |
21 | asin()方法 | 返回指定double 值的反正弦值。 |
22 | acos()方法 | 返回指定double 值的反余弦值。 |
23 | atan()方法 | 返回指定double 值的反正切值。 |
24 | atan2()方法 | 将直角坐标(x,y)转换为极坐标(r,theta)并返回theta。 |
25 | toDegrees()方法 | 将参数转换为度数。 |
26 | toRadians()方法 | 将参数转换为弧度。 |
27 | random()方法 | 返回一个随机数。 |