首页 > 技术文章 > 包装类

valder- 2021-08-22 17:31 原文

包装类

包装类及其对应的基本数据类型

包装类 基本数据类型
Byte byte
Integer int
Float float
Character char
Short short
Long long
Double double
Boolean boolean

Integer类

常用方法

方法 功能概述
valueOf(String str) 返回指定的String值的Integer对象
parseIt(String str) 返回包含在由str指定的字符串中的数字的等价整数值
toString() 近回一个表示该Integer值的String对象(可以指定进制基数)
toBinaryString(int i) 以二进制无符号整数形式返回一个整数参数的字符串表示形式
toHexString(int i) 以十六进制无符号整数形式返回一个整数参数的字符串表示形式
toOctalString(int i) 以八进制无符号整数形式返回一个整数参数的字符串表示形式
equals(Object IntegerObj) 比较此对象与指定的对象是否相等
intValue() 以int型返回此Integer对象
shortValue() 以short型返回此Integer对象
byteValue() 以byte型返回此Integer对象
compareTo(Integer anotherInteger) 在数字上比较两个Integer对象,如果这两个值相等,则返回0;如果调用对象的数值小于anotherInteger的数值,则返回负值;如果调用对象的数值大于anotherInteger的数值,则返回正值
int num=Integer.parseInt("456");
Integer iNum=Integer.valueOf("456");
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);
/*
int数据与Integer数据比较true
456的二进制表示为111001000
456的十六进制表示为1c8
456的八进制表示为710
456的十五进制表示为206
 */

Integer提供的常量

MAX_VALUE:表示int可取的最大值,2的31次方-1

MIN_VALUE:表示int可取的最小值,-2的31次方

SIAE:用来以二进制补码形式表示int值的位数

TYPE:表示基本类型的Class实例

查看常量

int maxint=Integer.MAX_VALUE;
int minint=Integer.MIN_VALUE;
int sizeint=Integer.SIZE;

System.out.println(maxint);//2147483647
System.out.println(minint);//-2147483648
System.out.println(sizeint);//32

Double类

常用方法

方法 功能概述
valueOf(String str) 返回保存用参数字符串str表示的double值的Double对象
parseDouble(String s) 返回一个新的double值,该值被初始化为用指定String表示的值,这与Double类的valueOf方法一样
doubleValue() 以double形式返回此Double对象
isNaN() 如果此double值是非数字(NaN) 值,则返回true:否则返回false
intValue() 以int形式返回double值
byteValue() 以byte形式返回Double对象值(通过强制转换)
longValue() 以long形式返回此double的值(通过强制转换为long类型)
comperTo(Double d) 对两个Double对象进行数值比较。如果两个值相等,则返回0;如果调用对象的数值小于d的数值,则返回负值:如果调用对象的数值大于d的值,则返回正值
equals(Object obj) 将此对象与指定的对象相比较
toString() 返回此Double 对象的字符串表示形式
toHexString(double d) 返回double参数的十六进制字符串表示形式
Double dNum=Double.valueOf("3.14");
//判断是否为非数字值
System.out.println("3.14是否为非数字值:"+Double.isNaN(dNum.doubleValue()));
System.out.println("3.14转换为int的值:"+dNum.intValue());
//判断大小
System.out.println("值为3.14的Double对象与3.14的比较结果:"+dNum.equals(3.14));
//转换为十六进制
System.out.println("3.14的十六进制表示为:"+Double.toHexString(dNum));
/*
3.14是否为非数字值:false
3.14转换为int的值:3
值为3.14的Double对象与3.14的比较结果:true
3.14的十六进制表示为:0x1.91eb851eb851fp1
 */

Double提供的常量

MAX_ EXPONENT: 返回int 值,表示有限 double变量可能具有的最大指数

MIN_ EXPONENT:返回int值,表示标准化double变量可能具有的最小指数

NEGATIVE_INFINITY: 返回double值,表示保存double类型的负无穷大值的常量

POSITIVE_INFINITY:返回double值,表示保存double类型的正无穷大值的常量

Boolean类

方法 功能概述
booleanValue() 将Boolean对象的值以对应的boolean值返回
equals(Object obj) 判断调用该方法的对象与obj是否相等。当且仅当参数不是null,而且与调用该方法的对象一样都表示同一个boolean值的Boolean对象时,才返回true
parseBoolean(String s) 将字符串参数解析为boolean值
toString() 返回表示该boolean值的String对象
valueOf(String s) 返回一个用指定的字符串表示的boolean值
Boolean b1=Boolean.valueOf("true");
Boolean b2=Boolean.valueOf("ok");
System.out.println("b1:"+b1.booleanValue());
System.out.println("b2:"+b2.booleanValue());
/*
b1:true
b2:false
 */

Boolean提供的常量

TRUE:对应基值true的Boolean对象

FALSE:对应基值false的Boolean对象

TYPE:基本类型Boolean的Class对象

Character类

方法 功能概述
valueOf(char a) 返回保存指定char值的Character对象
compareTo(Character anotherCharacter) 根据数字比较两个Character对象,若这两个对象相等则返回0
equals(Object obj) 将调用该方法的对象与指定的对象相比较
toUpperCase(char ch) 将字符参数转换为大写
toLowerCase(char ch) 将字符参数转换为小写
toString() 返回一个表示指定char 值的String 对象
charValue() 返回此Character对象的值
isUpperCase(char ch) 判断指定字符是否为大写字符
isLowerCase(char ch) 判断指定字符是否为小写字符
isLetter(char ch) 判断指定字符是否为字母
isDigit(char ch) 判断指定字符是否为数字
Character c1=Character.valueOf('A');
Character c2=Character.valueOf('d');

if (Character.isUpperCase(c1)){       //判断是否为大写字母
    System.out.println(c1+"是大写字母");
    System.out.println("转换为小写字母:"+Character.toLowerCase(c1));
}

if (Character.isLowerCase(c2)){       //判断是否为小写字母
    System.out.println(c2+"是小写字母");
    System.out.println("转换为大写字母:"+Character.toUpperCase(c2));
}
/*
A是大写字母
转换为小写字母:a
d是小写字母
转换为大写字母:D
 */

Character提供的常量

CONNECTOR_PUNCTUATION:返回byte型值,表示Unicode规范中的常规类别"Pc"

UNASSIGNED:返回byte型值,表示Unicode规范中的常规类别"Cn"

TITLECASE_LETTER:返回byte型值,表示Unicode规范中的常规类别"Lt"

Number类(父类)

方法 功能概述
byteValue() 以byte形式返回指定的数值
intValue() 以int形式返回指定的数值
floatValue() 以float形式返回指定的数值
shortValue() 以short形式返回指定的数值
longValue() 以long形式返回指定的数值
doubleValue() 以double形式返回指定的数值

对于数值型的包装类,都有一个父类——Number类,这是一个抽象类,其子类必须提供将表示的数值转换为byte,int,short,long,fioat,double的方法

推荐阅读