org.apache.commons.lang3.Validate数据校验工具类

【Java工具类】 专栏收录该内容
60 篇文章 8 订阅

Java后端开发的过程中我们经常会遇到判断数据范围、判断返回的结果是否为true、某一个对象是否是指定的实例对象等等;遇到这样的情况我们不得不写很多的代码来实现;common-lang包中有现成的工具类Validate,没必要重复的造轮子,看下下面的示例程序:

  • 判断结果是否为true,否则将抛出IllegalArgumentException异常
        try {
            Validate.isTrue(true);
        } catch (IllegalArgumentException e) {
            System.out.println(e.getMessage());
        }

看下isTrue方法的源码:

    public static void isTrue(final boolean expression) {
        if (!expression) {
            throw new IllegalArgumentException(DEFAULT_IS_TRUE_EX_MESSAGE);
        }
    }
  • 判断一个值是否包含在指定的范围之内,否则会抛出IllegalArgumentException异常
        try {
            Validate.exclusiveBetween(1, 3, 4);
        } catch (IllegalArgumentException e) {
            System.out.println(e.getMessage());
        }

看下源码:

    @SuppressWarnings("boxing")
    public static void exclusiveBetween(final long start, final long end, final long value) {
        // TODO when breaking BC, consider returning value
        if (value <= start || value >= end) {
            throw new IllegalArgumentException(String.format(DEFAULT_EXCLUSIVE_BETWEEN_EX_MESSAGE, value, start, end));
        }
    }
  • 判断一个类与另一个类的实例对象是否同一个类或接口的子类,或者类的信息相同,否则抛出IllagelArgumentException.
        try {
            Validate.isAssignableFrom(Map.class, Map.class);
        } catch (IllegalArgumentException e) {
            System.out.println(e.getMessage());
        }

根据上面的例子和源码可以使用工具类Validate做各种各样数据合法性的判断,只要不符合我们预期的结果就会抛出异常,我们可以根据异常做对应的处理,具体如何灵活的使用还是要在工作中不断的实践。

  • 0
    点赞
  • 0
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
commons-lang3.3.1.jar、Apache Commons包中的一个,包含了一些数据工具,是java.lang.*的扩展。必须使用的jar包。为JRE5.0+的更好的版本所提供 Jar文件包含的: META-INF/MANIFEST.MFMETA-INF/LICENSE.txtMETA-INF/NOTICE.txtorg.apache.commons.lang.ArrayUtils.class org.apache.commons.lang.BitField.class 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.class org.apache.commons.lang.CharUtils.class org.apache.commons.lang.ClassUtils.class org.apache.commons.lang.Entities$ArrayEntityMap.class org.apache.commons.lang.Entities$BinaryEntityMap.class org.apache.commons.lang.Entities$EntityMap.class org.apache.commons.lang.Entities$HashEntityMap.class org.apache.commons.lang.Entities$LookupEntityMap.class org.apache.commons.lang.Entities$MapIntMap.class org.apache.commons.lang.Entities$PrimitiveEntityMap.class org.apache.commons.lang.Entities$TreeEntityMap.class org.apache.commons.lang.Entities.class org.apache.commons.lang.IllegalClassException.class org.apache.commons.lang.IncompleteArgumentException.class org.apache.commons.lang.IntHashMap$Entry.class org.apache.commons.lang.IntHashMap.class org.apache.commons.lang.LocaleUtils.class org.apache.commons.lang.NotImplementedException.class org.apache.commons.lang.NullArgumentException.class org.apache.commons.lang.NumberRange.class org.apache.commons.lang.NumberUtils.class org.apache.commons.lang.ObjectUtils$Null.class org.apache.commons.lang.ObjectUtils.class org.apache.commons.lang.RandomStringUtils.class org.apache.commons.lang.SerializationException.class org.apache.commons.lang.SerializationUtils.class org.apache.commons.lang.StringEscapeUtils.class org.apache.commons.lang.StringUtils.class org.apache.commons.lang.SystemUtils.class org.apache.commons.lang.UnhandledException.class org.apache.commons.lang.Validate.class org.apache.commons.lang.WordUtils.class org.apache.commons.lang.build
相关推荐
©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页

打赏

艾米莉Emily

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值