# 注意:本文档后期不在跟新,新文档迁移到:[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
## 赞助
![](https://box.kancloud.cn/bf6f9c0e4f5a786c20d02c56b56a0eaf_600x500.png)