Guava Preconditions 工具参数前置校验
2018-06-27 09:56:48来源:未知 阅读 ()
guava 提供 Preconditions 作为代码校验的工具类,用来简化开发中对代码的校验或预处理,在逻辑开始前进行合理性校验,避免参数传入过深导致的数据错误。
并且能够在不符合校验条件的地方,准确的为我们显示出问题所在。Preconditions 进行了大量方法的重载,总体来说很简单,看下面的总结就懂了。
1.checkArgument
checkArgument(boolean expression, @Nullable String errorMessageTemplate, @Nullable Object... errorMessageArgs):校验表达式是否为真,不为真时显示错误信息,错误信息中允许使用占位符。 //校验表达式是否正确,并使用占位符输出错误信息 Preconditions.checkArgument(3 > 4, "%s is wrong", "3 > 4");
2.checkState
checkState(boolean expression):校验表达式是否为真,一般用作校验方法返回是否为真。 checkState(boolean expression, @Nullable Object errorMessage):当表达式为假的时候,显示指定的错误信息。 checkState(boolean expression,@Nullable String errorMessageTemplate,@Nullable Object... errorMessageArgs):校验表达式允许在错误信息中使用占位符。 //校验表达式是否正确,并使用占位符输出错误信息,使用方法作为表达式 Preconditions.checkState(testState(), "%s is wrong", "testState()");
3.checkNotNull
checkNotNull(T reference):校验对象是否为空。 checkNotNull(T reference, @Nullable Object errorMessage):对象为空时显示指定的错误信息。 checkNotNull(T reference, @Nullable String errorMessageTemplate,@Nullable Object... errorMessageArgs):允许在错误信息中使用占位符。 //校验对象是否为空,并使用占位符输出错误信息 Preconditions.checkNotNull(testObject(), "%s is null", "testObject()");
4.checkElementIndex
checkElementIndex( int index, int size, @Nullable String desc):校验元素的索引值是否有效,index大于等于0小于size,在无效时显示错误描述信息。 checkElementIndex(int index, int size):错误描述信息为“index”。 //校验元素索引是否有效 ,使用checkPositionIndex校验 Preconditions.checkElementIndex(17, list.size());
5.checkPositionIndex
checkPositionIndex(int index, int size, @Nullable String desc):校验元素的索引值是否有效,index大于等于0小于等于size,在无效时显示错误描述信息。 checkPositionIndex(int index, int size):错误描述信息为“index”。 //校验元素索引是否有效,使用checkPositionIndex校验,在临界值不产生异常 Preconditions.checkPositionIndex(17, list.size());
6.checkPositionIndexes
checkPositionIndexes(int start, int end, int size):校验大于等于start,小于end的list的长度是否为size。 //校验是否是有效的索引区间 Preconditions.checkPositionIndexes(3, 11, list.size());
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:java环境变量配置-简易菜鸟版
- 代码对比工具,我就用这 6 个! 2020-06-10
- 2020最新IDEA插件大集合,一款能帮助你写代码的工具是多么重 2020-06-09
- 「starter推荐」简单高效Excel 导出工具 2020-06-08
- 用斗地主的实例学会使用java Collections工具类 2020-06-05
- 数据分析 | 数据可视化图表,BI工具构建逻辑 2020-06-02
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash