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.BooleanUtils.class org.apache.commons.lang.CharEncoding.class org.apache.commons.lang.CharRange.class org.apache.commons.lang.CharSet.class org.apache.commons.lang....
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.BooleanUtils.class org.apache.commons.lang.CharEncoding.class org.apache.commons.lang.CharRange.class org.apache.commons.lang.CharSet.class org.apache.commons.lang....
`BooleanUtils`则简化了对布尔值的操作,而`NumberUtils`则提供了对数字的格式化和转换功能。 总的来说,Apache Commons Lang 2.4是Java开发者的重要工具,它提供了大量实用的工具类,可以帮助编写更简洁、更易于...
3. **BooleanUtils**:对布尔值进行逻辑操作,如取反、比较等。 4. **NumberUtils**:提供了数值相关的辅助方法,如格式化、转换等。 5. **DateUtils**:处理日期和时间,提供了格式化、解析、比较等功能。 6. **...
由于其广泛的适用性和实用性,它已经成为许多Java项目中的必备工具之一。每个版本的迭代都旨在更好地适应Java语言的发展和用户的需求。在使用不同版本时,开发者应根据项目需求和兼容性选择合适的 Commons Lang 版本...
这是Apache Commons Lang中最核心的类之一,包含了大量的字符串处理方法。如`isEmpty()`判断字符串是否为空,`join()`将数组或集合元素合并成一个字符串,`reverse()`翻转字符串,`substringBefore()`和`...
- `BooleanUtils`、`NumberUtils`和`ObjectUtils`:针对特定类型数组的操作工具。 4. **日期和时间**: - `DateUtils`:提供了日期的解析、格式化和比较功能。 - `DurationFormatUtils`:格式化持续时间,如时间...
- **BooleanUtils**: 专注于布尔值的操作。 - **DateUtils**: 日期时间处理,包括格式化、比较等。 - **LocaleUtils**: 与区域设置相关的工具方法。 - **StringUtils**: 提供了高级的字符串操作,如分割、替换、...
3. **BooleanUtils**: 提供了对布尔值的操作,如反转布尔值、比较布尔值等,简化了布尔逻辑的处理。 4. **CharUtils**: 包含了字符操作的方法,如字符转为字符串、字符数组操作等,方便处理单个字符。 5. **Class...
Apache Commons Lang是Java开发中不可或缺的工具库之一,它提供了大量的实用工具类,极大地丰富了Java的标准库。本篇将深入探讨"commons-lang-2.6-src.zip"这个源码包中的核心知识点。 1. **项目结构**:解压...
此外,`BooleanUtils`、`NumberUtils`和`StringUtils`也有相应的数组处理方法。 5. **异常处理**:`ExceptionUtils`提供了一些处理异常的工具方法,比如堆栈轨迹的获取和异常的包装。 6. **类型转换**:`...
它弥补了Java标准库的一些不足,如StringUtils、ArrayUtils和BooleanUtils等。 3. **commons-beanutils.jar**:Apache Commons BeanUtils库提供了一种简单的方式来操纵JavaBeans属性,使得属性的get、set操作更为...
8. **其他功能**:还有诸如`ArrayUtils`、`BooleanUtils`、`CharSetUtils`、`CharSequenceUtils`等,它们分别处理数组、布尔值、字符集和字符序列,极大地提高了开发效率。 在实际开发中,Apache Commons Lang3 ...
Apache Commons Lang 3.11 是一个非常重要的Java库,专为增强Java语言的功能而设计。这个库提供了许多实用工具类,涵盖了字符串处理、日期时间操作、数学计算、反射、对象创建等多个方面,极大地简化了开发工作。...
BooleanUtils – 用于操作和转换boolean或者Boolean及相应的数组; CharEncoding – 包含了Java环境支持的字符编码,提供是否支持某种编码的判断; CharRange – 用于设定字符范围并做相应检查; CharSet – 用于...
- **BooleanUtils**:提供了布尔值的转换、比较等方法。 - **CharRange**:提供了一种简便的方式来定义和测试字符范围。 - **CharUtils**:提供了字符相关的工具方法,如字符转换、比较等。 - **ClassUtils**:提供...
- `StringUtils` 类是Lang库中的核心类之一,它提供了大量的字符串处理方法,如空格处理、比较、替换、分割等。通过阅读源码,你可以学习到如何高效地处理Java中的字符串,以及在没有Java 8特性时如何实现高级字符...