# 注意:本文檔后期不在跟新,新文檔遷移到:[http://www.openkit.cc/docs/openkit/#/](http://www.openkit.cc/docs/openkit/#/)
# 首先感謝使用OpenKit工具包
## 反饋交流QQ群:696279396
# 說明
> KitUtil 里邊的所有放大都是靜態方法,你可以直接通過類似于 KitUtil.hellow(); 直接調用即可,當然你可能會要求傳幾個參數。
好了下面讓我們一起開啟 KitUtil 的愉快之旅:
## 測試 openkit 環境是否添加成功
```
public static void main(String[] args) {
System.out.println(KitUtil.hellow());
}
```
如果你可以在控制臺打印:Hello openkit,說明你已經成功導入了 OpenKit 工具包了
## MD5 加密工具
調用:KitUtil.md5(s);
說明:加密方式是大寫32位加密
##### 入參:
| 參數名 | 類型 | 備注 |
| :------------: | :------------: | :------------: |
| s | String | 需要加密的文本 |
##### 出參:
| 參數名 | 類型 | 備注 |
| :------------: | :------------: | :------------: |
| str | String | 加密后的值 |
## 時間格式化 data 轉 String
調用:KitUtil.dataToString(Date date, String type);
##### 入參:
| 參數名 | 類型 | 備注 |
| :------------: | :------------: | :------------: |
| date | Date | 需要轉換的時間 |
| type | String | 類型詳見下面的時間類型 |
##### 出參:
| 參數名 | 類型 | 備注 |
| :------------: | :------------: | :------------: |
| s | String | 時間 |
## 時間格式化 String 轉 data
調用:KitUtil.stringToData(String string, String type);
##### 入參:
| 參數名 | 類型 | 備注 |
| :------------: | :------------: | :------------: |
| string | string | 需要轉換的時間String |
| type | String | 類型詳見下面的時間類型 |
##### 出參:
| 參數名 | 類型 | 備注 |
| :------------: | :------------: | :------------: |
| date | Date | 時間 |
## 生成隨機數
調用:KitUtil.randomNumber(int type);
說明:你要幾位的驗證碼type就輸入幾就可以了 默認可以使用 2-8 位的驗證碼,type 非法,直接返回6位
##### 入參:
| 參數名 | 類型 | 備注 |
| :------------: | :------------: | :------------: |
| type | int | 類型 |
## 生成字母+數字 隨機數
調用:KitUtil.getStringRandom(int length);
說明:你要幾位的驗證碼length就輸入幾就可以了
##### 入參:
| 參數名 | 類型 | 備注 |
| :------------: | :------------: | :------------: |
| length | int | 幾位的驗證碼length就輸入幾 |
## 計算兩個時間之間的時間
調用:KitUtil.timeDifference(Date start, Date end, int type);
說明:計算兩個時間之間的時間
##### 入參:
| 參數名 | 類型 | 備注 |
| :------------: | :------------: | :------------: |
| start | Date | 開始時間 |
| end | Date | 結束時間 |
| type | int | 返回的時間差的單位 1:秒 2:分鐘 3:小時 4:天 |
## 返回Map集合
調用:KitUtil.returnMap(String code, String msg);
說明:我們再開發APP的接口的時候,經常需要有兩個返回值,一個是code,一個是msg,所以我們為了方便起見,我們直接封裝了一個小的工具給大家使用
##### 入參:
| 參數名 | 類型 | 備注 |
| :------------: | :------------: | :------------: |
| code | code | 編碼 |
| msg | code | 說明 |
## UUID
調用:KitUtil.uuid();
說明:這里生產的是去除'-'的UUID
## 訂單編號
調用:KitUtil.getOrderCode();
說明:根據時間隨機生成一個訂單編號
## 去除指定字符
調用:KitUtil.remove(String resource,char ch);
說明:去除一串字符串下面的指定的字符
##### 入參:
| 參數名 | 類型 | 備注 |
| :------------: | :------------: | :------------: |
| resource | String | 需要處理的字符串 |
| ch | char | 需要去除的字符 |
## 一個參數的非空驗證
調用:KitUtil.feikong(Object string);
說明:我們會驗證是不是為null,或者為"",為空返回false,否者返回ture
##### 入參:
| 參數名 | 類型 | 備注 |
| :------------: | :------------: | :------------: |
| string | Object | 內容 |
## 多個參數非空驗證
調用:KitUtil.isNull(Map<String, Object> map);
說明:我們會驗證是不是為null,或者為"",返回值也是一個Map,如果code是300,說明存在,我們的返回值會直接告訴你哪一個參數為空,否則,200說明全部通過
##### 入參:
| 參數名 | 類型 | 備注 |
| :------------: | :------------: | :------------: |
| map | Map | 集合 |
## 將Javabean,Json,轉換為Map
調用:KitUtil.toMap(...);
說明:這里根據你是想將Javabean,Json二選一,你想要轉哪一個,傳對應的內容就好了
## 將JavaBean轉換成JSONObject(通過Map中轉)
調用:KitUtil.toJSON(Object bean);
說明:這里根據你是想將Javabean,返回json數據
## 將Map轉換成Javabean
調用:KitUtil.toJavaBean(Object javabean, Map data);
說明:返回Javabean
## 從最小值到最大值之間,隨機取 N 個不重復的數字
調用:KitUtil.mathMinToMaxAndNum(int min,int max,int num);
說明:返回Set<Integer>數據集合
##### 入參:
| 參數名 | 類型 | 備注 |
| :------------: | :------------: | :------------: |
| min | int | 最小值 |
| max | int | 最大值 |
| num | int | 個數 |
## 隨機紅包(部分有紅包,部分沒有)
調用:KitUtil.redPaper(int num, int number, int restHasNoMoney, float scale);
說明:這個是隨機發紅包的,比如我有10個包,6個有錢,4個是空紅包,當然有錢的紅包錢是固定的,那么,我們就根據紅包的總數,這是第幾個,已經有幾個沒喲局紅包的被拆,和紅包的比例(當然我們是像下取整的,比如帶錢紅包的比例是0.6,一共11個紅包,那么帶錢的紅包6個,而不是7個)
##### 入參:
| 參數名 | 類型 | 備注 |
| :------------: | :------------: | :------------: |
| num | int | 紅包總數 |
| number | int | 這是第幾個 |
| restHasNoMoney | int | 已經拆開的沒有錢的紅包 |
| scale | float | 帶紅包的比例 |
##### 出參:
| 參數名 | 類型 | 備注 |
| :------------: | :------------: | :------------: |
| f | false | 帶不帶紅包,true:表示帶錢,false:表示不帶錢 |
> 下面是一些備注說明
# 日期類型
說明:這里有一個type是時間格式
我們一家給大家準備相當多的時間格式,當然你也可以不傳,也可以傳你想要的任何時間格式:
| type值 | 對應類型 |
| :------------: | :------------: |
| 1 | yyyy-MM-dd hh:mm |
| 2 | yyyy-MM-dd|
| 3 | yyyy/MM |
| 4 | yyyyMMdd|
| 5 | yyyy/MM/dd HH:mm:ss |
| 6 | yyyyMMddHHmmss|
| 7 | yyyy/MM/dd HH:mm:ss |
| 8 | HH:mm|
| 9 | yyyy-MM-dd |
| 10 | HH:mm|
| 11 | yyyy-MM|
| 空 | yyyy-MM-dd HH:mm:ss|
如果你覺得上面我們提供的默認type不能滿足你的要求,你也可以直接傳一個類型進來,比如你可以傳入 type = "yyyy年 MM月 dd日"
## 反饋交流QQ群:696279396
## 贊助
