From 0a0cbdcb3af194f7dfae4972b7b99d6f6fff0208 Mon Sep 17 00:00:00 2001 From: 202206271646 Date: Sat, 30 Jul 2022 09:48:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8RetOps=E9=87=8C=E9=9D=A2=E6=8A=8AgetMs?= =?UTF-8?q?g()=E9=87=8C=E9=9D=A2Optional.of()=E6=94=B9=E4=B8=BAOptional.of?= =?UTF-8?q?Nullable()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原因也很简单,在调用Optional.of()的时候源码里面of()该方法里面的值只能是不能为空,代码里面有判断空的异常,但是我们有时候会需要调用RetOps里面的getMsg()方法,但是服务直接调用的时候是成功时msg里面的信息是空的,然而Optional.of()里面不能传空的值,就会出现空指针的异常,而使用Optional.ofNullable()这个方法就不会出现这种异常,如果传入的值是空,它会自动给你new出一个Optional.empty()防止出现空指针异常,比起使用of()方法,ofNullable()更合适 --- .../main/java/com/pig4cloud/pigx/common/core/util/RetOps.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/util/RetOps.java b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/util/RetOps.java index 6e0b2962c..c5d94e6a2 100644 --- a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/util/RetOps.java +++ b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/util/RetOps.java @@ -120,7 +120,7 @@ public class RetOps { * @return 返回Optional包装的 msg */ public Optional getMsg() { - return Optional.of(original.getMsg()); + return Optional.ofNullable(original.getMsg()); } /**