`
liukai
  • 浏览: 706386 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

commons之BooleanUtils

阅读更多

import org.apache.commons.lang3.BooleanUtils;

public class BooleanUtilsDemo {
	
	private static final String n = null;

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		/*
		 * 否定指定的boolean值
		 * <pre>
	     *   BooleanUtils.negate(Boolean.TRUE)  = Boolean.FALSE;
	     *   BooleanUtils.negate(Boolean.FALSE) = Boolean.TRUE;
	     *   BooleanUtils.negate(null)          = null;
	     * </pre>
		 */
		System.out.println("negate:"+BooleanUtils.negate(Boolean.TRUE));
		
		/*
		 * 检查一个boolean值是否为true,如果参数为null,返回false
		 *  <pre>
	     *   BooleanUtils.isTrue(Boolean.TRUE)  = true
	     *   BooleanUtils.isTrue(Boolean.FALSE) = false
	     *   BooleanUtils.isTrue(null)          = false
	     * </pre>
		 */
		System.out.println("isTrue:"+BooleanUtils.isTrue(Boolean.TRUE));
		
		
		/*
		 * 检查一个boolean值是否为false,如果参数为null,返回true.
		 * <pre>
	     *   BooleanUtils.isNotTrue(Boolean.TRUE)  = false
	     *   BooleanUtils.isNotTrue(Boolean.FALSE) = true
	     *   BooleanUtils.isNotTrue(null)          = true
	     * </pre>
		 */
		System.out.println("isNotTrue:"+BooleanUtils.isNotTrue(Boolean.TRUE));
		
		
		/*
		 * 检查一个boolean值是否为false,如果是 返回true.
		 * 如果检查的值为true或null返回false.
		 * <pre>
	     *   BooleanUtils.isFalse(Boolean.TRUE)  = false
	     *   BooleanUtils.isFalse(Boolean.FALSE) = true
	     *   BooleanUtils.isFalse(null)          = false
	     * </pre>
		 */
		System.out.println("isFalse:"+BooleanUtils.isFalse(Boolean.TRUE));
		
		
		/*
		 * 检查一个boolean值是否不为false,如果是返回true.
		 * <pre>
	     *   BooleanUtils.isNotFalse(Boolean.TRUE)  = true
	     *   BooleanUtils.isNotFalse(Boolean.FALSE) = false
	     *   BooleanUtils.isNotFalse(null)          = true
	     * </pre>
		 */
		System.out.println("isNotFalse:"+BooleanUtils.isNotFalse(Boolean.TRUE));
		
		
		/*
		 * 转换一个为null的boolean值,返回一个false.
		 * <pre>
	     *   BooleanUtils.toBoolean(Boolean.TRUE)  = true
	     *   BooleanUtils.toBoolean(Boolean.FALSE) = false
	     *   BooleanUtils.toBoolean(null)          = false
	     * </pre>
		 */
		System.out.println("toBoolean:"+BooleanUtils.toBoolean(n));
		
		/*
		 * 转换一个为null的boolean值,返回后面参数给定的boolean值.
		 * <pre>
	     *   BooleanUtils.toBooleanDefaultIfNull(Boolean.TRUE, false) = true
	     *   BooleanUtils.toBooleanDefaultIfNull(Boolean.FALSE, true) = false
	     *   BooleanUtils.toBooleanDefaultIfNull(null, true)          = true
	     * </pre>
		 */
		System.out.println("toBooleanDefaultIfNull:"+BooleanUtils.toBooleanDefaultIfNull(null, false));
		
		/*
		 * 当参数为0是返回false,其它都返回true.
		 * <pre>
	     *   BooleanUtils.toBoolean(0) = false
	     *   BooleanUtils.toBoolean(1) = true
	     *   BooleanUtils.toBoolean(2) = true
	     * </pre>
		 */
		System.out.println("toBoolean (int):"+BooleanUtils.toBoolean(0));
		
		/*
		 * 当参数为0是返回Boolean.FALSE对象,其它都返回Boolean.TRUE.
		 * <pre>
	     *   BooleanUtils.toBoolean(0) = Boolean.FALSE
	     *   BooleanUtils.toBoolean(1) = Boolean.TRUE
	     *   BooleanUtils.toBoolean(2) = Boolean.TRUE
	     * </pre>
		 */
		System.out.println("toBooleanObject (int):"+BooleanUtils.toBooleanObject(0));
		
		
		/*
		 * 当参数为0是返回Boolean.FALSE对象,为null返回null
		 * 其它则返回Boolean.TRUE.
		 * <pre>
	     *   BooleanUtils.toBoolean(new Integer(0))    = Boolean.FALSE
	     *   BooleanUtils.toBoolean(new Integer(1))    = Boolean.TRUE
	     *   BooleanUtils.toBoolean(new Integer(null)) = null
	     * </pre>
		 */
		System.out.println("toBooleanObject (Integer):"+BooleanUtils.toBooleanObject(0));
		
		
		/*
		 * 如果第一个参数和第二个参数相等返回true,
		 * 如果第一个参数和第三个参数相等返回false,
		 * 如果都没有相等的,返回一个IllegalArgumentException
		 * * <pre>
	     *   BooleanUtils.toBoolean(0, 1, 0) = false
	     *   BooleanUtils.toBoolean(1, 1, 0) = true
	     *   BooleanUtils.toBoolean(2, 1, 2) = false
	     *   BooleanUtils.toBoolean(2, 2, 0) = true
	     * </pre>
		 */
		System.out.println("toBoolean "+BooleanUtils.toBoolean(4, 3, 4));
		
		/*
		 * 如果第一个参数和第二个参数相等返回true,
		 * 如果第一个参数和第三个参数相等返回false,
		 * 如果第一个参数和第四个参数相等返回null,
		 * 
		 * 如果都没有相等的,返回一个IllegalArgumentException
		 * <pre>
	     *   BooleanUtils.toBooleanObject(0, 0, 2, 3) = Boolean.TRUE
	     *   BooleanUtils.toBooleanObject(2, 1, 2, 3) = Boolean.FALSE
	     *   BooleanUtils.toBooleanObject(3, 1, 2, 3) = null
	     * </pre>
		 */
		System.out.println("toBoolean "+BooleanUtils.toBoolean(new Integer(0), new Integer(0), new Integer(2)));
		
		/*
		 * 如果是true返回1,
		 * 如果是false返回0。
		 */
		System.out.println("toInteger:"+BooleanUtils.toInteger(false));
		
		/*
		 * 如果是true返回1,
		 * 如果是false返回0。
		 */
		System.out.println("toIntegerObject:"+BooleanUtils.toIntegerObject(false));
		System.out.println("toIntegerObject Boolean:"+BooleanUtils.toIntegerObject(Boolean.TRUE));
		
		/*
		 * 如果第一个参数为true,返回第二个参数
		 * 如果第一个参数为false,返回第三个参数.
		 * <pre>
	     *   BooleanUtils.toInteger(true, 1, 0)  = 1
	     *   BooleanUtils.toInteger(false, 1, 0) = 0
	     * </pre>
		 * 
		 */
		System.out.println("toInteger 2:"+BooleanUtils.toInteger(Boolean.TRUE, 1, 0));
		/*
		 * 如果第一个参数为true,返回第二个参数
		 * 如果第一个参数为false,返回第三个参数.
		 * 如果第一个参数为null,返回第四个参数.
		 * <pre>
	     *   BooleanUtils.toInteger(Boolean.TRUE, 1, 0, 2)  = 1
	     *   BooleanUtils.toInteger(Boolean.FALSE, 1, 0, 2) = 0
	     *   BooleanUtils.toInteger(null, 1, 0, 2)          = 2
	     * </pre>
		 * 
		 */
		System.out.println("toInteger 3:"+BooleanUtils.toInteger(Boolean.TRUE,1,0,2));
		
		/*
		 * 根据参数字符串返回boolean值.
		 *  * <pre>
	     *   BooleanUtils.toBooleanObject(null)    = null
	     *   BooleanUtils.toBooleanObject("true")  = Boolean.TRUE
	     *   BooleanUtils.toBooleanObject("false") = Boolean.FALSE
	     *   BooleanUtils.toBooleanObject("on")    = Boolean.TRUE
	     *   BooleanUtils.toBooleanObject("ON")    = Boolean.TRUE
	     *   BooleanUtils.toBooleanObject("off")   = Boolean.FALSE
	     *   BooleanUtils.toBooleanObject("oFf")   = Boolean.FALSE
	     *   BooleanUtils.toBooleanObject("blue")  = null
	     * </pre>
		 */
		System.out.println("toBooleanObject:"+BooleanUtils.toBooleanObject("on"));
		
		
		/*
		 * 根据参数的boolean对象返回一个字符串.
		 *   <pre>
	     *   BooleanUtils.toStringTrueFalse(Boolean.TRUE)  = "true"
	     *   BooleanUtils.toStringTrueFalse(Boolean.FALSE) = "false"
	     *   BooleanUtils.toStringTrueFalse(null)          = null;
	     * </pre>
		 */
		System.out.println("toBooleanObject:"+BooleanUtils.toStringTrueFalse(Boolean.TRUE));
		System.out.println("toStringOnOff:"+BooleanUtils.toStringOnOff(Boolean.TRUE));
		System.out.println("toStringYesNo:"+BooleanUtils.toStringYesNo(Boolean.TRUE));
		
		/*
		 * 根据第一个参数为true或false来返回第二个或第三个参数.
		 * <pre>
	     *   BooleanUtils.toString(true, "true", "false")   = "true"
	     *   BooleanUtils.toString(false, "true", "false")  = "false"
	     * </pre>
		 */
		System.out.println("toString:"+BooleanUtils.toString(true, "返回true的字符串", "返回false的字符串"));
		
		/*
		 * 异或运算
		 * <pre>
	     *   BooleanUtils.xor(new boolean[] { true, true })   = false
	     *   BooleanUtils.xor(new boolean[] { false, false }) = false
	     *   BooleanUtils.xor(new boolean[] { true, false })  = true
	     * </pre>
		 */
		System.out.println("xor:"+BooleanUtils.xor(new boolean[] { false, true }));
		
	}

}
分享到:
评论

相关推荐

    org.apache.commons.lang jar包下载(commons-lang3-3.1.jar)

    org.apache.commons.lang.BooleanUtils.class org.apache.commons.lang.CharEncoding.class org.apache.commons.lang.CharRange.class org.apache.commons.lang.CharSet.class org.apache.commons.lang....

    commons-lang.jar

    org.apache.commons.lang.BooleanUtils.class org.apache.commons.lang.CharEncoding.class org.apache.commons.lang.CharRange.class org.apache.commons.lang.CharSet.class org.apache.commons.lang.CharSetUtils...

    org.apache.commons.lang jar包下载

    org.apache.commons.lang.BooleanUtils.class org.apache.commons.lang.CharEncoding.class org.apache.commons.lang.CharRange.class org.apache.commons.lang.CharSet.class org.apache.commons.lang....

    commons-lang-2.4.rar代码及jar文件

    `BooleanUtils`则简化了对布尔值的操作,而`NumberUtils`则提供了对数字的格式化和转换功能。 总的来说,Apache Commons Lang 2.4是Java开发者的重要工具,它提供了大量实用的工具类,可以帮助编写更简洁、更易于...

    Jakarta Commons组件之Lang

    3. **BooleanUtils**:对布尔值进行逻辑操作,如取反、比较等。 4. **NumberUtils**:提供了数值相关的辅助方法,如格式化、转换等。 5. **DateUtils**:处理日期和时间,提供了格式化、解析、比较等功能。 6. **...

    commons-lang所有版本(1.0-3.4).zip

    由于其广泛的适用性和实用性,它已经成为许多Java项目中的必备工具之一。每个版本的迭代都旨在更好地适应Java语言的发展和用户的需求。在使用不同版本时,开发者应根据项目需求和兼容性选择合适的 Commons Lang 版本...

    commons-lang-2.6.jar工具类以及文档

    这是Apache Commons Lang中最核心的类之一,包含了大量的字符串处理方法。如`isEmpty()`判断字符串是否为空,`join()`将数组或集合元素合并成一个字符串,`reverse()`翻转字符串,`substringBefore()`和`...

    commons-lang3-3.1.jar

    - `BooleanUtils`、`NumberUtils`和`ObjectUtils`:针对特定类型数组的操作工具。 4. **日期和时间**: - `DateUtils`:提供了日期的解析、格式化和比较功能。 - `DurationFormatUtils`:格式化持续时间,如时间...

    commons-lang3-3.5源码1

    - **BooleanUtils**: 专注于布尔值的操作。 - **DateUtils**: 日期时间处理,包括格式化、比较等。 - **LocaleUtils**: 与区域设置相关的工具方法。 - **StringUtils**: 提供了高级的字符串操作,如分割、替换、...

    commons-lang-2.6

    3. **BooleanUtils**: 提供了对布尔值的操作,如反转布尔值、比较布尔值等,简化了布尔逻辑的处理。 4. **CharUtils**: 包含了字符操作的方法,如字符转为字符串、字符数组操作等,方便处理单个字符。 5. **Class...

    commons-lang-2.6-src.zip

    Apache Commons Lang是Java开发中不可或缺的工具库之一,它提供了大量的实用工具类,极大地丰富了Java的标准库。本篇将深入探讨"commons-lang-2.6-src.zip"这个源码包中的核心知识点。 1. **项目结构**:解压...

    commons-lang-2.5.jar

    此外,`BooleanUtils`、`NumberUtils`和`StringUtils`也有相应的数组处理方法。 5. **异常处理**:`ExceptionUtils`提供了一些处理异常的工具方法,比如堆栈轨迹的获取和异常的包装。 6. **类型转换**:`...

    java项目commons jar包

    它弥补了Java标准库的一些不足,如StringUtils、ArrayUtils和BooleanUtils等。 3. **commons-beanutils.jar**:Apache Commons BeanUtils库提供了一种简单的方式来操纵JavaBeans属性,使得属性的get、set操作更为...

    commons-lang3资源包

    8. **其他功能**:还有诸如`ArrayUtils`、`BooleanUtils`、`CharSetUtils`、`CharSequenceUtils`等,它们分别处理数组、布尔值、字符集和字符序列,极大地提高了开发效率。 在实际开发中,Apache Commons Lang3 ...

    commons-lang3-3.11-bin.zip

    Apache Commons Lang 3.11 是一个非常重要的Java库,专为增强Java语言的功能而设计。这个库提供了许多实用工具类,涵盖了字符串处理、日期时间操作、数学计算、反射、对象创建等多个方面,极大地简化了开发工作。...

    commons-lang3-3.1 API

    BooleanUtils – 用于操作和转换boolean或者Boolean及相应的数组; CharEncoding – 包含了Java环境支持的字符编码,提供是否支持某种编码的判断; CharRange – 用于设定字符范围并做相应检查; CharSet – 用于...

    Apache commons jar包常用类讲解--Jakarta Commons 学习.pdf

    - **BooleanUtils**:提供了布尔值的转换、比较等方法。 - **CharRange**:提供了一种简便的方式来定义和测试字符范围。 - **CharUtils**:提供了字符相关的工具方法,如字符转换、比较等。 - **ClassUtils**:提供...

    commons lang 源码

    - `StringUtils` 类是Lang库中的核心类之一,它提供了大量的字符串处理方法,如空格处理、比较、替换、分割等。通过阅读源码,你可以学习到如何高效地处理Java中的字符串,以及在没有Java 8特性时如何实现高级字符...

Global site tag (gtag.js) - Google Analytics