[轉載] Java對返回值的封裝

參考鏈接: 用Java封裝

定義自己所需要的返回值類型?

public class CodeMsg implements Cloneable {

? ? private int retCode;

? ? private String message;

?

? ? // 通用異常

? ? public static CodeMsg SUCCESS = new CodeMsg(0, "success");

? ? public static CodeMsg EMPTY_PARAM_ERROR = new CodeMsg(400, "參數為空");

? ? public static CodeMsg INTER_ERROR = new CodeMsg(505, "服務端異常");

?

? ? private CodeMsg(int retCode, String message) {

? ? ? ? this.retCode = retCode;

? ? ? ? this.message = message;

? ? }

?

? ? public int getRetCode() {

? ? ? ? return retCode;

? ? }

?

? ? public String getMessage() {

? ? ? ? return message;

? ? }

?

? ? public void setMessage(String message) {

? ? ? ? this.message = message;

? ? }

?

? ? @Override

? ? protected Object clone() throws CloneNotSupportedException {

? ? ? ? return (CodeMsg) super.clone();

? ? }

}?

返回值的封裝?

public class Result<T> {

? ? private String message;

? ? private int retCode;

? ? private T data;

?

? ? private Result(T data) {

? ? ? ? this.retCode = 200;

? ? ? ? this.message = "成功";

? ? ? ? this.data = data;

? ? }

?

? ? private Result(CodeMsg cm) {

? ? ? ? if (cm == null) {

? ? ? ? ? ? return;

? ? ? ? }

? ? ? ? this.retCode = cm.getRetCode();

? ? ? ? this.message = cm.getMessage();

? ? }

?

? ? /**

? ? ?* 成功時候的調用

? ? ?*

? ? ?* @return

? ? ?*/

? ? public static <T> Result<T> success(T data) {

? ? ? ? return new Result<T>(data);

? ? }

?

? ? /**

? ? ?* 成功,不需要傳入參數

? ? ?*

? ? ?* @return

? ? ?*/

? ? @SuppressWarnings("unchecked")

? ? public static <T> Result<T> success() {

? ? ? ? return (Result<T>) success("");

? ? }

?

? ? /**

? ? ?* 失敗時候的調用

? ? ?*

? ? ?* @return

? ? ?*/

? ? public static <T> Result<T> error(CodeMsg cm) {

? ? ? ? return new Result<T>(cm);

? ? }

?

? ? /**

? ? ?* 失敗時候的調用,擴展消息參數

? ? ?*

? ? ?* @param cm

? ? ?* @param msg

? ? ?* @return

? ? ?*/

? ? public static <T> Result<T> error(CodeMsg cm, String msg) {

? ? ? ? CodeMsg newCodeMsg = null;

? ? ? ? try {

? ? ? ? ? ? newCodeMsg = (CodeMsg) cm.clone();

? ? ? ? } catch (Exception e) {

? ? ? ? ? ? e.printStackTrace();

? ? ? ? }

? ? ? ? newCodeMsg.setMessage(cm.getMessage() + "--" + msg);

? ? ? ? return new Result<T>(newCodeMsg);

? ? }

?

? ? public T getData() {

? ? ? ? return data;

? ? }

?

? ? public String getMessage() {

? ? ? ? return message;

? ? }

?

? ? public int getRetCode() {

? ? ? ? return retCode;

? ? }

?

?

}?

參考返回碼定義?

// 成功狀態碼

public static final int SUCCESS = 1;

?

// -------------------失敗狀態碼----------------------

// 參數錯誤

public static final int PARAMS_IS_NULL = 10001;// 參數為空

public static final int PARAMS_NOT_COMPLETE = 10002; // 參數不全

public static final int PARAMS_TYPE_ERROR = 1003; // 參數類型錯誤

public static final int PARAMS_IS_INVALID = 10004; // 參數無效

?

// 用戶錯誤

public static final int USER_NOT_EXIST = 20001; // 用戶不存在

public static final int USER_NOT_LOGGED_IN = 20002; // 用戶未登陸

public static final int USER_ACCOUNT_ERROR = 20003; // 用戶名或密碼錯誤

public static final int USER_ACCOUNT_FORBIDDEN = 20004; // 用戶賬戶已被禁用

public static final int USER_HAS_EXIST = 20005;// 用戶已存在

?

// 業務錯誤

public static final int BUSINESS_ERROR = 30001;// 系統業務出現問題

?

// 系統錯誤

public static final int SYSTEM_INNER_ERROR = 40001; // 系統內部錯誤

?

// 數據錯誤

public static final int DATA_NOT_FOUND = 50001; // 數據未找到

public static final int DATA_IS_WRONG = 50002;// 數據有誤

public static final int DATA_ALREADY_EXISTED = 50003;// 數據已存在

?

// 接口錯誤

public static final int INTERFACE_INNER_INVOKE_ERROR = 60001; // 系統內部接口調用異常

public static final int INTERFACE_OUTER_INVOKE_ERROR = 60002;// 系統外部接口調用異常

public static final int INTERFACE_FORBIDDEN = 60003;// 接口禁止訪問

public static final int INTERFACE_ADDRESS_INVALID = 60004;// 接口地址無效

public static final int INTERFACE_REQUEST_TIMEOUT = 60005;// 接口請求超時

public static final int INTERFACE_EXCEED_LOAD = 60006;// 接口負載過高

?

// 權限錯誤

public static final int PERMISSION_NO_ACCESS = 70001;// 沒有訪問權限

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/540344.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/540344.shtml
英文地址,請注明出處:http://en.pswp.cn/news/540344.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

stateful set 學習筆記

2019獨角獸企業重金招聘Python工程師標準>>> 1、創建pv # cat pv.yaml kind: PersistentVolume apiVersion: v1 metadata:name: task-pv-volumelabels:type: local spec:capacity:storage: 3GiaccessModes:- ReadWriteOncehostPath:path: "/tmp/data" 2、…

[轉載] Java中對象數組的使用

參考鏈接&#xff1a; 如何在Java中交換或交換對象 Java對象數組使用 一、Java數組的使用二、Java的對象數組2.1 問題提出2.2 問題解析2.3 問題拆分2.4 代碼實現 一、Java數組的使用 對象數組其實和Java的數組類似的&#xff0c;所以要很清楚Java的數組是如何使用的&#xf…

Python自動化開發學習13-聯合唯一

聯合唯一 聯合唯一&#xff0c;就是一個表中的多個字段的組合需要唯一。 使用mysql語句創建 比如創建一張hosts表&#xff0c;記錄登錄的ip地址或者hostname&#xff08;表中對應字段host&#xff09;和 端口號&#xff08;表中對應字段port&#xff09;&#xff0c;要求host 和…

[轉載] Java獲取泛型T的類型 T.class

參考鏈接&#xff1a; Java中的抽象 import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; public class Main{ public static void main(String[] args) { Foo<String> foo new Foo<String>(){}; // 在類的外部這樣獲取 Type type ((…

自定義控件---重寫Listbox實現item圖標變換和item點擊事件

博客開通有一陣了&#xff0c;就是沒有時間寫&#xff0c;遺憾啊。&#xff01; 這幾天做了個排序的自定義控件&#xff0c;在listbox item里放是button 并支持圖標的交替變換 效果如下&#xff1a; 把代碼貼上&#xff1a;1using System; 2using System.Collections.…

[轉載] Spring面試題整理

參考鏈接&#xff1a; Java中的動態方法Dispatch和運行時多態 Spring面試題整理 2018年03月07日 21:11:46 hrbeuwhw 閱讀數&#xff1a;49116 Spring 概述 1. 什么是spring? spring 是個Java企業級應用的開源開發框架。Spring主要用來開發Java應用&#xff0c;但是有…

ansible: Linux批量管理神器

我們已經知道&#xff0c;基于集群可實現服務器橫向擴展slace out。可是&#xff0c;當上百臺主機集合成共同為一個站點提供web頁面訪問的形式時&#xff0c;怎么管理整個集群體呢&#xff1f; 一些小伙伴大概聽說過pxe等可實現自動安裝系統。可是&#xff0c;要我們一臺一臺主…

[轉載] Python numpy函數:all()和any()比較矩陣

參考鏈接&#xff1a; Python中的any和all 數組元素的比對&#xff0c;我們可以直接使用“”進行比較&#xff0c;比如&#xff1a; 但是當數組元素較多時&#xff0c;查看輸出結果便變得很麻煩&#xff0c;這時我們可以使用all&#xff08;&#xff09;方法&#xff0c;直接…

MySQL初識-架構-安裝-初始化-連接-管理工具-數據文件

MySQL架構和結構分析 官方架構圖 內部組件結構圖 MySQL安裝方式 MySQL初始化 MySQL工作模式及常用命令 交互式模式&#xff1a;mysql> 1234567891011121314# 交互式模式下的客戶端命令mysql> help # 獲取命令幫助 mysql> \? # 同上 mysql> \c # 取消命令執行 mysq…

[轉載] Java基礎——關聯、聚合、組合

參考鏈接&#xff1a; Java中的關聯 | 組合和聚合 一.引言 其實自己也不知道&#xff0c;在需求設計、架構設計、開發階段是否真正需要弄明白“關聯、聚合、組合”。原本計劃這篇博文寫“繼承“和”多態”&#xff0c;但是一翻閱資料&#xff0c;基本上都會把“繼承”和“組…

[轉載] WSDL2Java詳細使用說明【官方最全說明】

參考鏈接&#xff1a; Java中的this說明 WSDL to Java 命名 wsdl2java - 獲取WSDL文檔并生成完全帶注釋的Java代碼&#xff0c;并實現相關服務。 概要 用例 : wsdl2java -fe|-frontend <front-end-name> -db|-databinding <data-binding-name> -wv <…

mdm.Dialogs.promptModal()使用

這是prompt的擴展&#xff0c;提供了更多的功能&#xff0c;比如可以添加其他按鈕和圖標import mdm.*;mdm.Application.init(this, onInit);function onInit():void {// 啟動程序...}quit.addEventListener(MouseEvent.CLICK,quitProgram);function quitProgram(evt:MouseEvent…

[轉載] JAVA 構造函數及其重載

參考鏈接&#xff1a; Java重載Overload public class Student{ public int stuId; public String stuName; public int stuAge; public int stuScore; public Student(){ } public Student(int sId,String sName){ stuId sId; sName stuName; } public Student(int sld,S…

學生機房虛擬化(十)系統操作設計實現

引入&#xff1a; 在前篇思路的指導下&#xff0c;進行了為期三個星期的調試最終建立了一個初步成熟的&#xff0c;具有親和力的配置界面&#xff0c;現在此虛擬系統已經初步部署了一個機房&#xff0c;用來學生日常上課。在本篇中&#xff0c;本人并不試圖去花篇幅講解彼此之間…

[轉載] java之重寫toString

參考鏈接&#xff1a; Java程序的輸出| 重寫Override 1.toString()就是是重寫&#xff0c;對于一般的對象來說都會有這個方法&#xff0c;其實這個方法的目的&#xff0c;主要就是將對象按字符串的方式輸出出來&#xff1a;打個比方&#xff0c;比如一個People類&#xff0c;里…

Gson的使用,對于不需要html escape的情況的處理

引入&#xff1a; 雖然是小問題&#xff0c;但是我還是需要記錄下&#xff0c;我們知道&#xff0c;Google提供了一個Gson框架讓我們高效的吧普通對象&#xff08;一般VO為佳&#xff09; 和json字符串之間進行互轉。因為轉換多數是和瀏覽器打交道的&#xff0c;所以一般默認的…

[轉載] Java 重寫paint繪圖

參考鏈接&#xff1a; 用Java重寫Override 感謝原文&#xff1a;https://zhidao.baidu.com/question/260060153.html 這個方法需要注意的地方不多&#xff0c;也就是重寫時&#xff0c;先調用 super.paint(g) 方法 paint方法不需要編寫代碼調用&#xff0c;只需要重寫。 其他…

教你如何進入有密碼的 XP 系統(下)

自動登錄時禁用Shift鍵 當使用自動登錄功能時&#xff0c;用戶可通過按住Shift鍵忽略登錄進程&#xff0c;輸入其他用戶名及密碼進入電腦。該技巧可以禁用自動登錄時的Shift鍵功能。操作步驟如下&#xff1a;打開“注冊表編輯器”&#xff0c;找到[HKEY_LOCAL_MACHINE\Softwar…

[轉載] 2020最新Java面試題,常見面試題及答案匯總

參考鏈接&#xff1a; Java程序的輸出| 18(重寫Override) 發現網上很多Java面試題都沒有答案&#xff0c;所以花了很長時間搜集整理出來了這套Java面試題大全&#xff0c;希望對大家有幫助哈~ 博主已將以下這些面試題整理成了一個Java面試手冊&#xff0c;是PDF版的。 關注…

【心隨筆】敘述你成功完成一件事情的方法

一、situation 先描述你曾經處于的困難狀況 二、task / target 說一說你是怎樣做出打算的 三、action / attitude 告訴別人你做出的行動 四、result 最后獲得了怎樣的成績轉載于:https://www.cnblogs.com/tnxlvlxy/p/7806142.html