[Guava源码分析] Preconditions 前置条件
我的技术博客经常被流氓网站恶意爬取转载。请移步原文:http://www.cnblogs.com/hamhog/p/3874170.html,享受整齐的排版、有效的链接、正确的代码缩进、更好的阅读体验。
非常简单的一个类。用法可见文档。
API
为true | checkArgument、checkState | 只有抛出参数的类型不同 |
为not null | checkNotNull | |
下标范围 | checkElementIndex(int index, int size) | 小于 |
checkPositionIndex(int index, int size) | 小于等于 | |
checkPostionIndex(int start, int end, int size) | 范围 |
以下3种形式:
checkArgument(boolean expression)
checkArgument(boolean expression, Object errorMessage)
checkArgument(boolean expression, Object... errorMessageArgs)
重点方法
static String format(String template, @Nullable Object... args)
1. null - > "null"
2. 对每个arg,查找template里的"%s"。采用逐渐append的方法,而不是replace
3. “%s”不足时,把剩余的参数附在后面,用“[]”包起来。