From 03078fe5a8d93550c284916eec8e65eff1edc3b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?i=E5=90=83=E7=93=9C?= <34263400+top37@users.noreply.github.com> Date: Wed, 28 Aug 2019 15:17:37 +0800 Subject: [PATCH] =?UTF-8?q?Update=2027.=20=E6=B6=88=E9=99=A4=E9=9D=9E?= =?UTF-8?q?=E6=A3=80=E6=9F=A5=E8=AD=A6=E5=91=8A.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 中文引号错误 --- docs/notes/27. 消除非检查警告.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/notes/27. 消除非检查警告.md b/docs/notes/27. 消除非检查警告.md index af1459e..fa60a5b 100644 --- a/docs/notes/27. 消除非检查警告.md +++ b/docs/notes/27. 消除非检查警告.md @@ -26,7 +26,7 @@ Set exaltation = new HashSet<>();   但一些警告更难以消除。 本章充满了这种警告的例子。 当你收到需要进一步思考的警告时,坚持不懈! **尽可能地消除每一个未经检查的警告。** 如果你消除所有的警告,你可以放心,你的代码是类型安全的,这是一件非常好的事情。 这意味着在运行时你将不会得到一个 `ClassCastException` 异常,并且增加了你的程序将按照你的意图行事的信心。 -  **如果你不能消除警告,但你可以证明引发警告的代码是类型安全的,那么(并且只能这样)用 `@SuppressWarnings(“unchecked”)` 注解来抑制警告。** 如果你在没有首先证明代码是类型安全的情况下压制警告,那么你给自己一个错误的安全感。 代码可能会在不发出任何警告的情况下进行编译,但是它仍然可以在运行时抛出 `ClassCastException` 异常。 但是,如果你忽略了你认为是安全的未经检查的警告(而不是抑制它们),那么当一个新的警告出现时,你将不会注意到这是一个真正的问题。 新出现的警告就会淹没在所有的错误警告当中。 +  **如果你不能消除警告,但你可以证明引发警告的代码是类型安全的,那么(并且只能这样)用 `@SuppressWarnings("unchecked")` 注解来抑制警告。** 如果你在没有首先证明代码是类型安全的情况下压制警告,那么你给自己一个错误的安全感。 代码可能会在不发出任何警告的情况下进行编译,但是它仍然可以在运行时抛出 `ClassCastException` 异常。 但是,如果你忽略了你认为是安全的未经检查的警告(而不是抑制它们),那么当一个新的警告出现时,你将不会注意到这是一个真正的问题。 新出现的警告就会淹没在所有的错误警告当中。   `SuppressWarnings` 注解可用于任何声明,从单个局部变量声明到整个类。 始终在尽可能最小的范围内使用 `SuppressWarnings` 注解。 通常这是一个变量声明或一个非常短的方法或构造方法。 切勿在整个类上使用 `SuppressWarnings` 注解。 这样做可能会掩盖重要的警告。