• Java开发笔记(二十八)布尔包装类型


    前面介绍了数值包装类型,因为不管是整数还是小数,它们的运算操作都是类似的,所以只要学会了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开发笔记(序)章节目录

  • 相关阅读:
    atitit.解决net.sf.json.JSONException There is a cycle in the hierarchy
    atitit.查看预编译sql问号 本质and原理and查看原生sql语句
    atitit.基于http json api 接口设计 最佳实践 总结o7
    atitit.spring3 mvc url配置最佳实践
    Atitit.列表页面and条件查询的实现最佳实践(2)翻页 分页 控件的实现java .net php
    atitit。自定义uml MOF EMF体系eclipse emf 教程o7t
    atitit.编辑表单的实现最佳实践dwr jq easyui
    Atitit. 提升开发效率与质量DSL ( 3) 实现DSL的方式总结
    atitit.设计模式(2) 查表模式/ command 总结
    Atitit. 提升软件开发效率and 开发质量java 实现dsl 4gl 的本质and 精髓 O725
  • 原文地址:https://www.cnblogs.com/pinlantu/p/10010166.html
Copyright © 2020-2023  润新知