9.1 包装类
Java是一种面向对象的语言,但在Java中不能定义基本数据类型的对象,为了能将基本数据类型视为对象进行处理,Java提出了包装类的概念,它主要是将基本数据类型封装在包装类中,这样便可以把这些基本数据类型转换为对象进行处理.如下表所示:
包装类 | 对应基本数据类型 | 包装类 | 对应基本数据类型 |
Byte | byte | Short | short |
Integer | int | Long | long |
Float | float | Double | double |
Character | character | Boolean | boolean |
注:Java是可以直接处理基本数据类型的,但在有些情况下需要将其作为对象来处理,这时就需要将其转换为包装类,这里的包装类相当于基本数据类型与对象类型之间的一个桥梁.
9.1.1 Integer类
Integer类在对象中包装了一个基本数据类型int的值,该类的对象包含了一个int类型的字段,此外,该类提供了多个方法,能在int类型和String类型之间相互转换,同时还提供了其他一些处理int类型时非常有用的常量和方法.
1.构造方法:
(1) Integer(int number) 该方法以Int型变量作为参数来获取Integer对象
Integer number = new Integer(7);
(2) Integer(String str) 该方法以String型变量作为参数来获取INteger对象
Integer number = new Integer("45");
2.常用方法
方法 | 返回值 | 功能描述 |
valueOf(String str) | Integer | 返回保存指定的String值的Integer对象 |
parseInt(String str) | int | 返回包含在由str指定的字符串中的数字的等价整数值 |
toString() | String | 返回一个表该Integer值的String对象 |
toBinaryString (int i) |
String | 以二进制无符号整数形式返回一个整数参数的字符串表达形式 |
toHexString(int i) | String | 以十六进制无符号整数形式返回一个整数参数的字符串表达形式 |
toOctalString(int i) | String | 以八进制无符号整数形式返回一个整数参数的字符串表达形式 |
equals(Object IntegerObj) | boolean | 比较此对象与指定的对象是否相等 |
intValue() | int | 以int型返回此Integer对象 |
shortValue() | short | 以short型返回此Integer对象 |
byteValue() | byte | 以byte类型返回此Integer的值 |
compareto(Integeranother Integer) |
int | 在数字上比较两个Integer对象 |
例9.1代码
public class Demo {
public static void main(String[] args) {
int num = Integer.parseInt("456"); //将字符串转换为int类型
Integer iNum = Integer.valueOf("456"); //通过构造函数创建一个Integer对象
System.out.println("int数据与Integer对象的比较:" + iNum.equals(num));
String str2 = Integer.toBinaryString(num); //获取数字的二进制表示
String str3 = Integer.toHexString(num); //获取数字的十六进制表示
String str4 = Integer.toOctalString(num); //获取数字的八进制表示
String str5 = Integer.toString(num,15); //获取数字的十五进制表示
System.out.println("456的二进制表示为:" + str2);
System.out.println("456的十六进制表示为:" + str3);
System.out.println("456的八进制表示为:" + str4);
System.out.println("456的十五进制表示为:" + str5);
// TODO Auto-generated method stub
}
}
3.常量
Integer类提供了以下4个常量:
MAX_VALUE:表示int类型可取的最大值
MIN_VALUE:表示int类型可取的最小值;
SIZE:用来以二进制补码形式表示int值的位数;
TYPE:表示基本类型int的Class实例;
例9.2代码
public class Demo {
public static void main(String[] args) {
int maxint = Integer.MAX_VALUE; //主方法
int minint = Integer.MIN_VALUE; //获取Integer类的常数值
int intsize = Integer.SIZE;
System.out.println("int类型可取的最大值是:" + maxint); //将常量值输出
System.out.println("int类型可取的最小值是:" + minint);
System.out.println("int类型的二进制位数是:" + intsize);
}
}
9.1.2 Double类
Double类在对象中包装一个基本类型为double的值,每个Double的类对象都包含一个double类型的字段.
1.构造方法:
(1) Double(double value)
Double number = new Double(3.14);
(2) Double(String str)
Double number = new Double("3.14");
2.常用方法
方法 | 返回值 | 功能描述 |
valueOf(String str) | Double | 返回保存用参数字符串str表示的double值的Double对象 |
parseDouble(String s) | double | 返回一个新的double值<该值被初始化为用指定String表示的值,这与Double类的valueOf方法一样 |
doubleValue() | double | 以double形式返回此Double对象 |
isNaN() | boolean | 如果此double值是非数字(NaN)值,则返回true |
intValue() | int | 以int形式返回double值 |
byteValue() | byte | 以byte形式返回Double对象值(通过强制转换) |
longValue() | long | 以long形式返回此double的值(通过强制转换为long类型) |
compareTo(Double d) | int | 对两个Double对象进行数值比较,如果两个值相等,返回值0;如果调用对象的数值小于d的数值,则返回负值;如果调用数值对象的数值大于d的数值,则返回正值. |
equals(Object obj) | boolean | 将此对象与指定的对象相比较 |
toString() | String | 返回此Double对象的字符串表示形式 |
t |