前面介绍了数值包装类型,因为不管是整数还是小数,它们的运算操作都是类似的,所以只要学会了Integer的用法,其它数值包装类型即可一并掌握。但是对于布尔类型boolean来说,该类型定义的是“true”和“false”的布尔值,并非123之类的数字,因此还需专门的包装类型Boolean来包装boolean。
Boolean作为包装类型,与数值包装类型相似,它也拥有三种变量初始化方式。由于布尔包装类型的初始化代码雷同数值包装类型,这里不再赘述,具体代码示例如下:
// 初始化包装变量的第一种方式:直接用等号赋值 Boolean boolPack = true; // 初始化包装变量的第二种方式:调用包装类型的valueOf方法 //Boolean boolPack = Boolean.valueOf(true); // 初始化包装变量的第三种方式:使用关键字new创建新变量 //Boolean boolPack = new Boolean(true); System.out.println("boolPack="+boolPack);
要把布尔包装变量转换成基本类型的布尔变量,同样不能通过强制类型转换,而是必须调用包装变量的booleanValue方法,如此方能得到布尔类型的变量值。与数值包装类型保持一致的还有equals方法,该方法相当于关系运算符“==”,可用于判断两个布尔包装变量是否相等。booleanValue方法和equals方法的调用代码例子见下:
// 把包装变量转换成布尔变量,需要调用包装变量的booleanValue方法 boolean bool = boolPack.booleanValue(); System.out.println("bool="+bool); // 布尔包装变量的equals方法相当于关系运算符“==” boolean equalResult = boolPack.equals(false); System.out.println("equalResult="+equalResult);
除此之外,布尔包装变量之间允许使用逻辑运算符,包括非运算符“!”、与运算符“&”、或运算符“|”、异或运算符“^”。当然,这些逻辑运算符早就用于基本布尔类型,倘若包装布尔类型只有这点本事,不免拾人牙慧。所以包装类型另外提供了几个逻辑方法,像是logicalAnd方法相当于逻辑“与”运算符“&&”,logicalAnd方法相当于逻辑“或”运算符“||”,logicalAnd方法相当于逻辑“异或”运算符“^”。通过方法包装了常见的逻辑运算操作,这样Java代码才更像是常人看得懂的编程语言,而非只有数学家才能看得懂的逻辑式子。下面是布尔包装类型使用几个逻辑方法的代码例子:
boolean a = true, b = false; // 布尔包装类型的logicalAnd方法相当于逻辑“与”运算符“&&” boolean andResult = Boolean.logicalAnd(a, b); System.out.println("andResult="+andResult); // 布尔包装类型的logicalAnd方法相当于逻辑“或”运算符“||” boolean orResult = Boolean.logicalOr(a, b); System.out.println("orResult="+orResult); // 布尔包装类型的logicalAnd方法相当于逻辑“异或”运算符“^” boolean xorResult = Boolean.logicalXor(a, b); System.out.println("xorResult="+xorResult);
更多Java技术文章参见《Java开发笔记(序)章节目录》