Skip to content

Commit 8f83875

Browse files
authored
Update 16-Validating-Your-Code.md
1 parent 585176b commit 8f83875

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

docs/book/16-Validating-Your-Code.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -882,7 +882,7 @@ NullPointerException
882882
*/
883883
```
884884

885-
虽然Guava的前置条件适用于所有类型,但我只演示 字符串类型。**test()**方法需要一个**Consumer<String>**,因此我们可以传递一个lambda表达式作为第一个参数字符串。以及作为第二个参数传递给lambda的字符串。它显示字符串,以便在查看输出时确定方向,然后将字符串传递给lambda表达式。try块中的第二个 **println**() 仅在lambda表达式成功时才显示; 否则catch将捕获并显示错误信息。注意 **test()** 方法消除了多少重复的代码。
885+
虽然Guava的前置条件适用于所有类型,但我只演示 **字符串(String)** 类型。**test()**方法需要一个**Consumer<String>**,因此我们可以传递一个lambda表达式作为第一个参数字符串。以及作为第二个参数传递给lambda的字符串。它显示字符串,以便在查看输出时确定方向,然后将字符串传递给lambda表达式。try块中的第二个 **println**() 仅在lambda表达式成功时才显示; 否则catch将捕获并显示错误信息。注意 **test()** 方法消除了多少重复的代码。
886886

887887
每个前置条件都有三种不同的重载形式:一个什么都没有,一个带有简单字符串消息,以及带有一个字符串和替换值。为了提高效率,只允许 **%s** (字符串类型)替换标记。在上面的例子中,演示了**checkNotNull()****checkArgument()** 这两种形式。但是它们对于所有前置条件方法都是相同的。注意 **checkNotNull()** 的返回参数, 所以您可以在表达式中内联使用它。下面是如何在构造函数中使用它来防止包含 **Null **值的对象构造:
888888

0 commit comments

Comments
 (0)