Explorar o código

result封装,简化bool和null值判断

tianyunperfect %!s(int64=4) %!d(string=hai) anos
pai
achega
6fe0ac76c6
Modificáronse 1 ficheiros con 17 adicións e 13 borrados
  1. 17 13
      common/src/main/java/com/alvin/common/entity/Result.java

+ 17 - 13
common/src/main/java/com/alvin/common/entity/Result.java

@@ -54,24 +54,28 @@ public class Result<T> implements Serializable {
     }
     //endregion
 
-    public static <T> Result<T> byBoolean(Boolean bool,ResultCode resultCode) {
-        if (bool) {
-            return Result.success();
-        } else {
-            return Result.failure(resultCode);
-        }
-    }
 
-    public static <T> Result<T> byObject(T t,ResultCode resultCode) {
-        if (t != null) {
+    /**
+     * 通过对象输出结果
+     * 当对象为 true 或者不为 null 的时候返回正常
+     *
+     * @param t          t
+     * @param resultCode 结果代码
+     * @return {@link Result<T>}
+     */
+    public static <T> Result<T> byObject(T t, ResultCode resultCode) {
+        if (t instanceof Boolean) {
+            if ((Boolean) t) {
+                return Result.success();
+            }
+        } else if (t != null) {
             return Result.success(t);
-        } else {
-            return Result.failure(resultCode);
         }
+        return Result.failure(resultCode);
     }
 
     public static void main(String[] args) {
-        System.out.println(Result.byBoolean(false,ResultCode.UNKNOW));
-        System.out.println(Result.byObject(null,ResultCode.UNKNOW));
+        System.out.println(Result.byObject(null, ResultCode.UNKNOW));
+        System.out.println(Result.byObject(false, ResultCode.UNKNOW));
     }
 }