Java —— 包装类(Wrapper类)

【概述】

由于 Java 中的八种基本数据类型不面向对象,为了使用方便,为每个基本数据类型设计了一个对应的类,这样八种基本数据类型对应的类统称为包装类(Wrapper Class),均位于 java.lang 包中。

基本数据类型包装类
intBollean
byteByte
shortShort
longLong
floatFloat
doubleDouble
booleanBoolean
charCharacter

包装类的用途主要为以下两种:

  1. 作为基本数据类型对应的类类型存在,方便涉及到对象的操作
  2. 包含每种基本数据类型的相关属性(最大值、最小值等)以及相关的操作方法

【Number 类】

  1. 抽象类 Number 是 BigDecimal、BigInteger、Double、Float、Integer、Long、Short、Byte 类的父类
  2. 其方法分别被其各个子类所实现,以下 6 种方法是最常见的
返回值方法功能
bytebyteValue()以byte类型返回指定的数值
shortshortValue()以short类型返回指定的数值
intintValue()以int类型返回指定的数值
longlongValue()以long类型返回指定的数值
floatfloatValue()以float类型返回指定的数值
doubledoubleValue()以double类型返回指定的数值

【Integer 类】

Integer 类、Long 类、Short 类、Byte 类都是对整数进行操作,包含的方法基本相同,区别只是表示的范围不同,以下以 Integer 类介绍整数包装类。

1.构造器

1)Integer(int value):以一个 int 型变量作为参数获取 Integer 对象

2)Integer(String str):以一个 String 型变量作为参数获取 Integer 对象(要用数值型 String 变量作为参数,否则会抛出 NumberFormatException异常)

Integer a=new Integer(10);
Integer a=new Integer("123");

2.常用方法

返回值方法功能
intcompareTo(Integer obj)在数字上比较两Integer对象是否相等,相同返回0,小于返回-1,大于返回1
booleanequals(Object obj)比较此对象与指定对象是否相等
IntegervalueOf(int obj)返回一个表示指定的int值的Integer实例
intparseInt(String str)返回一个将str解析后的int型变量
StringtoString()以String类型返回该Integer对象

3.常量

  1. MAX_VALUE:int 型可取的最大值,即:2^31-1(2147483647)
  2. MIN_VALUE:int 型可取的最小值,即:-2^31(-2147483648)
  3. SIZE:以二进制补码形式表示 int 值的位数
  4. TYPE:表示基本类型 int 的 Class 实例

【Double 类】

Double 类、Float 类都是对小数进行操作,包含的方法基本相同,区别只是表示的范围不同,以下以 Double 类介绍小数包装类。

1.构造器

1)Double(double value):以一个 double 型变量作为参数获取 Double 对象

2)Double(String str):以一个 String 型变量作为参数获取 Double 对象(要用数值型 String 变量作为参数,否则会抛出 NumberFormatException异常)

Double a=new double(1.23);
Double a=new double("4.56");

2.常用方法

返回值方法功能
intcompareTo(Double obj)在数字上比较两Integer对象是否相等,相同返回0,小于返回-1,大于返回1
booleanequals(Object obj)比较此对象与指定对象是否相等
DoublevalueOf(double obj)返回一个表示指定的double值的Double实例
doubleparseInt(String str)返回一个将str解析后的double型变量
StringtoString()以String类型返回该Double对象
booleanisNaN()若此double值是非数字值(NaN),则返回 true,否则返回 false

3.常量

  1. MAX_EXPONENT:返回 int 值,表有限 double 变量可能具有的最大指数。
  2. MIN_EXPONENT:返回 int 值,表标准化 double 变量可能具有的最小指数。
  3. POSITIVE_INFINITY:返回 double 值,表保存 double 类型的正无穷大的常量。
  4. NEGATIVE_INFINITY:返回 double 值,表保存 double 类型的负无穷大的常量。

【Boolean 类】

1.构造器

1)Boolean(boolean value):创建一个表示 value 的 Boolean 对象

2)Integer(String str):以一个 String 型变量作为参数创建 Boolean 对象(若 str 参数不为 null 且忽略大小写时为 true,则分配一表 true 值的 Boolean 对象,否则获得一 false 值的 Boolean 对象)

Boolean a=new Boolean(true);
Boolean a=new Boolean("ok");

2.常用方法

返回值方法功能
booleanequals(Object obj)    比较此对象与指定对象是否相等
BooleanvalueOf(boolean obj)返回一个表示指定的boolean值的Boolean实例
booleanparseBoolean(String str)返回一个将str解析后的boolean型变量
StringtoString()以String类型返回该Boolean对象

3.常量

  1. TRUE:对应基值为 true 的 Boolean 对象
  2. FALSE:对应基值为 false 的 Boolean 对象
  3. TYPE:表示基本类型 boolean 的 Class 实例

【Character 类】

1.构造器

Character(char value):创建一个表示 value 的 Character 对象(一旦 Character 类被创建,其包含的值无法再改变)

Character a=new Character(‘a’);

2.常用方法

返回值方法功能
charcharValue()返回此对象的值
intcompareTo(Double obj)在数字上比较两Integer对象是否相等,相同返回0,小于返回-1,大于返回1
booleanequals(Object obj)    比较此对象与指定对象是否相等
chartoUpperCase(char ch)将字符参数转换为大写
chartoLowerCase(char ch)将字符参数转换为小写
booleantoUpperCase(char ch)判断字符参数是否为大写
booleantoLowerCase(char ch)判断字符参数是否为小写
StringtoString()返回一个表示指定char值的Character对象

3.常量

  1. CONNECTOR_PUNCTUATION:返回 byte 型值,表示 Unicode 规范中的常规类别 “Pc”
  2. UNASSIGNED:返回 byte 型值,表示 Unicode 规范中的常规类别 “Cn”
  3. TITLECASE_LETTER:返回 byte 型值,表示 Unicode 规范中的常规类别 “Lt”

【自动拆装箱】

JDK 自从 1.5 版本后,引入了自动拆装箱的语法,即系统将自动进行基本数据类型和对应的包装类转换时。 

自动装箱:将基本数据类型封装为对象类型。

自动拆箱:将对象重新转化为基本数据类型。

//自动装箱,实际上执行了 Integer a=Integer.valueOf(5)
Integer a=5;

//自动拆箱,实际上执行了 int b=a.intValue()
int b=a;

【包装类、基本数据类型、String 类的转化】

注:要将 String 转为 char 变量,使用 atChar() 方法;要转为 char 数组,使用 toCharArrays() 方法

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值