From 8f83875ddfcd43746aa25e1575afcb49a30e85c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8B=AC=E5=A5=8F=E7=8C=AB?= <8319743+Leodegrance@users.noreply.github.com> Date: Tue, 27 Aug 2019 16:50:08 +0800 Subject: [PATCH] Update 16-Validating-Your-Code.md --- docs/book/16-Validating-Your-Code.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/book/16-Validating-Your-Code.md b/docs/book/16-Validating-Your-Code.md index 3e6c72d..0bdf6eb 100644 --- a/docs/book/16-Validating-Your-Code.md +++ b/docs/book/16-Validating-Your-Code.md @@ -882,7 +882,7 @@ NullPointerException */ ``` -虽然Guava的前置条件适用于所有类型,但我只演示 字符串。类型。**test()**方法需要一个**Consumer**,因此我们可以传递一个lambda表达式作为第一个参数字符串。以及作为第二个参数传递给lambda的字符串。它显示字符串,以便在查看输出时确定方向,然后将字符串传递给lambda表达式。try块中的第二个 **println**() 仅在lambda表达式成功时才显示; 否则catch将捕获并显示错误信息。注意 **test()** 方法消除了多少重复的代码。 +虽然Guava的前置条件适用于所有类型,但我只演示 **字符串(String)** 类型。**test()**方法需要一个**Consumer**,因此我们可以传递一个lambda表达式作为第一个参数字符串。以及作为第二个参数传递给lambda的字符串。它显示字符串,以便在查看输出时确定方向,然后将字符串传递给lambda表达式。try块中的第二个 **println**() 仅在lambda表达式成功时才显示; 否则catch将捕获并显示错误信息。注意 **test()** 方法消除了多少重复的代码。 每个前置条件都有三种不同的重载形式:一个什么都没有,一个带有简单字符串消息,以及带有一个字符串和替换值。为了提高效率,只允许 **%s** (字符串类型)替换标记。在上面的例子中,演示了**checkNotNull()** 和 **checkArgument()** 这两种形式。但是它们对于所有前置条件方法都是相同的。注意 **checkNotNull()** 的返回参数, 所以您可以在表达式中内联使用它。下面是如何在构造函数中使用它来防止包含 **Null **值的对象构造: