Skip to content

常用工具类

概述

可以当成工具使用的类,主要是为其他的类提供便捷使用的类,该类中大部分方法都是静态方法,并且一般位于util/utils/tools

工具类介绍

获取地址工具类——AddressUtils

此工具类的主要作用是为业务方提供获取地址的统一方法。

(1)getrealaddressbyip()

  • 作用描述:根据ip获取获取地理位置。
  • 定义:public static String getrealaddressbyip(String ip)
  • 代码示例:
jsx
AddressUtils.getrealaddressbyip("10.19.54.163")

说明

若ip为内网IP则默认不查询地理位置。

类型转换工具类——Convert

此工具类的主要作用是为业务方提供类型转换的统一方法。

(1)toStr()

  • 作用描述:转换为字符串。
  • 定义:public static String toStr(Object value, String defaultValue)
  • 代码示例:
jsx
Convert.toStr(123,"defaultValue")

说明

  • value表示“被转换的值”,defaultValue 表示“转换错误时的默认值”
  • 如果给定的值为null,或者转换失败,返回默认值
  • 转换失败不会报错

(2)toStr()

  • 作用描述:转换为字符串。
  • 定义:public static String toStr(Object value)
  • 代码示例:
jsx
Convert.toStr(123)

说明

  • value表示“被转换的值”
  • 如果给定的值为null,或者转换失败,返回默认值null
  • 转换失败不会报错

(3)toChar()

  • 作用描述:转换为字符。
  • 定义:public static Character toChar(Object value, Character defaultValue)
  • 代码示例:
jsx
Convert.toChar(123,'defaultValue');

说明

  • value表示“被转换的值”,defaultValue 表示“转换错误时的默认值”
  • 如果给定的值为null,或者转换失败,返回默认值
  • 转换失败不会报错

(4)toChar()

  • 作用描述:转换为字符。
  • 定义:public static String toChar(Object value)
  • 代码示例:
jsx
Convert.toChar(123)

说明

  • value表示“被转换的值”
  • 如果给定的值为null,或者转换失败,返回默认值null
  • 转换失败不会报错

(5)toByte()

  • 作用描述:转换为byte。
  • 定义:public static Byte toByte(Object value, Byte defaultValue)
  • 代码示例:
jsx
Convert.toByte(123,new Byte("defaultValue"))

说明

  • value表示“被转换的值”, defaultValue 表示“转换错误时的默认值”
  • 如果给定的值为null,或者转换失败,返回默认值
  • 转换失败不会报错

(6)toByte()

  • 作用描述:转换为byte。
  • 定义:public static Byte toByte(Object value)
  • 代码示例:
jsx
Convert.toByte(123)

说明

  • value表示“被转换的值”, defaultValue 表示“转换错误时的默认值”
  • 如果给定的值为null,或者转换失败,返回默认值null
  • 转换失败不会报错

通用唯一识别码工具类——UUID

此工具类的主要作用是为业务方提供通用唯一识别码的实现方式。

提供方法作用描述定义传参返回值
fastUUID()获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的本地线程伪随机数生成器生成该 UUID。public static UUID fastUUID()随机生成的识别码
randomUUID()获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的强伪随机数生成器生成该 UUID。public static UUIDrandomUUID()随机生成的识别码
nameUUIDFromBytes()根据指定的字节数组获取类型 3(基于名称的)UUID 的静态工厂。public static UUID nameUUIDFromBytes(byte[] name)name 用于构造 UUID 的字节数组。根据指定数组生成的识别码
fromString()根据字符串标准表示形式创建UUID。public static UUID fromString(String name)name 指定的字符串具有指定值的识别码

拼音转换工具类——ChinesePinyinUtils

提供将中文转成拼音,能拼取中文的拼音首字母等功能。

提供方法作用描述定义传参返回值
isChinese()判断是否是中文字符(含中文标点符号)public static boolean isChinese(char c)c 输入的字符true or false
containsChinese()判断是否包含中文字符(含中文标点符号)public static boolean containsChinese(String str)str 输入的字符串true or false
isChineseWord()判断是否是中文(非标点符号)public static boolean isChineseWord(char c)c 输入的字符true or false
containsChineseWords()判断是否包含汉字(非标点符号)public static boolean containsChineseWords(String name)name 输入的字符串true or false
headCharOfString()获取字符串的首字母,如果是中文,则取它拼音的首字母public static char headCharOfString(String str)str 输入的字符串字符串首字母
convertToPinyin()将字符串转成拼音,如果不是中文则保持原样public static String convertToPinyin(String chineseWords)chineseWords 输入字符串拼音
headCharOfGbkCode()通过一个字符的gbk编码得到拼音首字母public static char headCharOfGbkCode(int gbkCode)gbkCode gbk码值拼音首字母

列权限脱敏规则工具类——DataMaskingUtils

对列数据进行脱敏展示。

提供方法作用描述定义传参返回值
desensitizedName()姓名脱敏,保留姓, 名使用*代替public static String desensitizedName(String fullName)fullName 输入的姓名脱敏后的姓名
desensitizedPhoneNumber()手机号脱敏,保留前三后四, 中间四位用*表示public static String desensitizedPhoneNumber(String phoneNumber)phoneNumber 输入的手机号脱敏后的手机号
desensitizedIdNumber()身份证脱敏,保留前三后四, 中间四位用*表示public static String desensitizedIdNumber(String idNumber)idNumber 输入的身份证号脱敏后的身份证号
desensitizedAddress()地址脱敏public static String desensitizedAddress(String address) {address 输入的地址脱敏后的地址
desensitizedEmail()电子邮件脱敏public static String desensitizedEmail(String email)email 输入的电子邮件脱敏后的电子邮件
desensitizedBankCard()【银行卡号】前六位,后四位,其他用星号隐藏每位1个星号,比如:6222600**********1234public static String desensitizedBankCard(String cardNum)cardNum 输入的银行卡号脱敏后的银行卡号
desensitizedText()普通文本脱敏public static String desensitizedText(String text)text 输入的文本脱敏后的普通文本

获取ip工具类——IpUtils

此工具类的主要作用是为业务方提供获取ip的统一方法。

提供方法作用描述定义传参返回值
getClientIP()获取客户端ip. 请求体默认从全局上下文获取.public static String getClientIP(String... otherHeaderNames)otherHeaderNames 其他自定义头文件客户端ip
getClientIP()获取客户端ippublic static String getClientIP(HttpServletRequest request, String... otherHeaderNames)request 请求对象 otherHeaderNames 其他自定义头文件客户端ip

客户端工具类——ServletUtils

此工具类的主要作用是为业务方提供对servlet操作的一系列方法。。

提供方法作用描述定义传参返回值
getParameter()获取String参数public static String getParameter(String name)nameString参数
getParameter()获取String参数public static String getParameter(String name, String defaultValue)name,defaultValueString参数
getParameterToInt()获取Integer参数public static Integer getParameterToInt(String name)nameInteger参数
getParameterToInt()获取Integer参数public static Integer getParameterToInt(String name, Integer defaultValue)name,defaultValueInteger参数
getRequest()获取requestpublic static HttpServletRequest getRequest()request
getResponse()获取responsepublic static HttpServletResponse getResponse()response
getSession()获取sessionpublic static HttpSession getSession()session
getRequestAttributes()获取requestAttributespublic static ServletRequestAttributes getRequestAttributes()requestAttributes
renderString()将字符串渲染到客户端public static String renderString(HttpServletResponse response, String string)response 渲染对象 string 待渲染的字符串null

Web应用工具类——WebUtils

此工具类的主要作用是为业务方提供对Web应用操作的一系列方法。

提供方法作用描述定义传参返回值
getCookieVal()读取cookiepublic static String getCookieVal(String name)namecookie value
getCookieVal()读取cookiepublic static String getCookieVal(HttpServletRequest request, String name)request,namecookie value
removeCookie()清除 某个指定的cookiepublic static void removeCookie(HttpServletResponse response, String key)response,key
setCookie()设置cookiepublic static void setCookie(HttpServletResponse response, String name, String value, int maxAgeInSeconds)response,name,value,maxAgeInSeconds
getRequest()获取 HttpServletRequestpublic static HttpServletRequest getRequest()HttpServletRequest
getResponse()获取 HttpServletResponsepublic static HttpServletResponse getResponse()HttpServletResponse
renderJson()返回jsonpublic static void renderJson(HttpServletResponse response, Object result)response,result
renderJson()返回jsonpublic static void renderJson(HttpServletResponse response, Object result, String contentType)response,result,contentType
readJson()从 request 中获取 body, 并转成 javabean, contentType 必须包含'application/json'public static <T> T readJson(HttpServletRequest request, Class<T> clazz)request,clazz<T>

列表工具类——ListUtils

此工具类的主要作用是为业务方提供判断列表是否为空的统一方法。

提供方法作用描述定义传参返回值
isEmptly() 列表是否为空.public static boolean isEmptly(Collection<?> collection) collection 集合true or false
isNotEmptly()列表是否不为空.public static boolean isNotEmptly(Collection<?> collection) collection 集合true or false

语言工具类——LocaleHolder

此工具类的主要作用是为业务方提供获得语言的统一方法。

提供方法作用描述定义传参返回值
getLang()获取当前语言.public static String getLang()当前语言
getLocale()获取当前语言.public static Locale getLocale()当前语言

日期工具类——DateUtils

此工具类提供一些常用的日期操作方法

提供方法作用描述定义传参返回值
getNowDate()获取Date格式当前时间public static Date getNowDate()Date格式当前时间
getDate()获取YYYY_MM_DD格式的当前日期字符串public static String getDate()YYYY_MM_DD格式的当前日期
getTime()获取YYYY_MM_DD_HH_MM_SS格式时间字符串public static final String getTime()YYYY_MM_DD_HH_MM_SS格式时间字符串
dateTimeNow()获取YYYYMMDDHHMMSS格式时间字符串public static final String dateTimeNow()YYYYMMDDHHMMSS格式时间字符串
dateTimeNow()按指定格式返回当前时间格式字符串public static final String dateTimeNow(final String format)format当前时间格式字符串
dateTime()按照YYYY_MM_DD格式传入的时间public static final String dateTime(final Date date)dateYYYY_MM_DD格式传入的时间
parseDateToStr()按格式格式化传入的时间public static final String parseDateToStr(final String format, final Date date)format,date格式化时间字符串
dateTime{}毫秒数按格式格式化public static final Date dateTime(final String format, final String ts)format,ts格式化后的毫秒时间
datePath()获取yyyy/MM/dd格式的日期public static final String datePath()yyyy/MM/dd格式的日期
dateTime()获取yyyyMMdd格式的日期public static final String dateTime()yyyyMMdd格式的日期
parseDate()日期型字符串转化为日期格式public static Date parseDate(Object str)str日期
getServerStartDate()获取服务器启动时间public static Date getServerStartDate()启动时间
getDatePoor()计算两个时间差public static String getDatePoor(Date endDate, Date nowDate)endDate,nowDate时间差

对象工具类——ObjectUtils

此工具类的主要作用是为业务方提供对object操作的一系列方法。

提供方法作用描述定义传参返回值
isEmpty()判断一个Collection是否为空,包含List,Set,Queue.public boolean isEmpty(Collection<?> coll) coll 要判断的Collectiontrue or false
isNotEmpty()判断一个Collection是否非空,包含List,Set,Queue.public boolean isNotEmpty(Collection<?> coll)coll 要判断的Collectiontrue or false
isEmpty()判断一个对象数组是否为空.public boolean isEmpty(Object[] objects)objects 要判断的对象数组true or false
isNotEmpty()判断一个对象数组是否非空.public boolean isNotEmpty(Object[] objects)objects 要判断的对象数组true or false
isEmpty()判断一个Map是否为空.public boolean isEmpty(Map<?, ?> map) map 要判断的maptrue or false
isNotEmpty()判断一个Map是否非空.public boolean isNotEmpty(Object[] objects)map 要判断的maptrue or false
isNull()断一个对象是否为空.public boolean isNull(Object object)object 要判断的对象true or false
isNotNull()断一个对象是否非空.public boolean isNull(Object object)object 要判断的对象true or false
isArray()判断一个对象是否是数组类型.public boolean isArray(Object object)object 要判断的对象true or false
trim()去空格.public String trim(String str)str 字符串字符串
toUnderScoreCase()下划线转驼峰命名.public String toUnderScoreCase(String str)str 字符串字符串
convertToCamelCase()将下划线大写方式命名的字符串转换为驼峰式.public String convertToCamelCase(String name)name 转换前的下划线大写方式命名的字符串转换后的驼峰式命名的字符串
inStringIgnoreCase()是否包含字符串.public boolean inStringIgnoreCase(String str, String... strs)str 验证字符串 strs 字符串组true or false
toCamelCase()驼峰式命名法 例如:user_name->userName.public String toCamelCase(String s)str 字符串驼峰式命名字符串

sql操作工具类——SqlUtils

此工具类的主要作用是为业务方提供对sql语句操作的一系列方法。

(1)escapeOrderBySql()

  • 作用描述:检查字符,防止注入绕过。
  • 定义:public static String escapeOrderBySql(String value)
  • 代码示例:
jsx
SqlUtils.escapeOrderBySql("select name, age from user order by age")

说明

  • value表示“要检查的SQL语句”

(2)isValidOrderBySql()

  • 作用描述:验证 order by 语法是否符合规范。
  • 定义:public static boolean isValidOrderBySql(String value)
  • 代码示例:
jsx
SqlUtils.isValidOrderBySql("select name, age from user order by age")

说明

  • value表示“要检查的SQL语句”

生成随机字符串工具类——RandomUtils

此工具类的主要作用是为业务方提供生成随机字符串的统一方法。

(1)randomStr()

  • 作用描述:生成随机字符串,包含数字和字母。
  • 定义:public static String randomStr(int length)
  • 代码示例:
jsx
RandomUtils.randomStr(12)

说明

  • length表示“长度”

(2)randomInt()

  • 作用描述:生成随机字符串,只包含数字。
  • 定义:public static String randomInt(int length)
  • 代码示例:
jsx
RandomUtils.randomInt(12)

说明

  • length表示“长度”

unicode和gbk转换类——TextCodeUtils

此工具类的主要作用是为业务方统一unicodegbk转换方法。

提供方法作用描述定义传参返回值
gbk2Unicode()gbk编码转unicode码public static int gbk2Unicode(int gbkCode)intint
unicode2Gbk()unicode码转gbk编码public static int unicode2Gbk(int unicode)intint

Bean工具类——BeanUtils

此工具类的主要作用是为业务方统一获取对象copy及驼峰法命名的方法。

提供方法作用描述定义传参返回值
copyBeanProp()Bean属性复制工具方法public static void copyBeanProp(Object dest, Object src)Object,Objectnull
getSetterMethods()获取对象的setter方法public static List<Method> getGetterMethods(Object obj)ObjectList
getterMethods()获取对象的getter方法public static List<Method> getGetterMethods(Object obj) ObjectList
isMethodPropEquals()检查Bean方法名中的属性名是否相等public static boolean isMethodPropEquals(String m1,String m2)String,Stringboolean
toUnderScoreCase()下划线转驼峰命名public static String toUnderScoreCase(String str)StringString