标签 Preconditions 下的文章

概述

在我们的日常开发中,经常要对入参进行一定的参数校验,比如是否为空,参数的取值范围是否符合要求等等。这种参数校验如果我们单独进行校验的话,代码的重复率比较高,也不是很优雅。Guava提供了一个类Preconditions来统一校验我们的参数,同时可以抛出对应的异常信息,将参数校验的工作进行了统一。

Preconditions

Preconditions类中的每个静态方法都支持三种方式:

  • 无额外参数, 抛出的异常中没有错误消息
  • 指定error message 抛出指定error message的异常
  • 额外的字符串参数 替换带有占位符的error message消息。这个变种处理异常消息的方式有点类似printf,但考虑GWT的兼容性和效率,只支持%s指示符。
注意:checkNotNull、checkArgument和checkState有大量的重载,它们采用可变参数方式。
checkArgument(i >= 0, "Argument was %s but expected nonnegative", i);
checkArgument(i < j, "Expected i < j, but %s > %s", i, j);

以下是com.google.common.base.Preconditions类的声明:

@GwtCompatible
public final class Preconditions {}

- 阅读剩余部分 -