package com.pearadmin.common.tools.string;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.nio.ByteBuffer;
import java.nio.charset.Charset;
import java.text.NumberFormat;
import java.util.Set;
/**
* 类型转换器
*/
public class Convert {
/**
* 转换为字符串<br>
* 如果给定的值为null,或者转换失败,返回默认值<br>
* 转换失败不会报错
*
* @param value 被转换的值
* @param defaultValue 转换错误时的默认值
* @return 结果
*/
public static String toStr(Object value, String defaultValue) {
if (null == value) {
return defaultValue;
}
if (value instanceof String) {
return (String) value;
}
return value.toString();
}
/**
* 转换为字符串<br>
* 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br>
* 转换失败不会报错
*
* @param value 被转换的值
* @return 结果
*/
public static String toStr(Object value) {
return toStr(value, null);
}
/**
* 转换为字符<br>
* 如果给定的值为null,或者转换失败,返回默认值<br>
* 转换失败不会报错
*
* @param value 被转换的值
* @param defaultValue 转换错误时的默认值
* @return 结果
*/
public static Character toChar(Object value, Character defaultValue) {
if (null == value) {
return defaultValue;
}
if (value instanceof Character) {
return (Character) value;
}
final String valueStr = toStr(value, null);
return StringUtil.isEmpty(valueStr) ? defaultValue : valueStr.charAt(0);
}
/**
* 转换为字符<br>
* 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br>
* 转换失败不会报错
*
* @param value 被转换的值
* @return 结果
*/
public static Character toChar(Object value) {
return toChar(value, null);
}
/**
* 转换为byte<br>
* 如果给定的值为<code>null</code>,或者转换失败,返回默认值<br>
* 转换失败不会报错
*
* @param value 被转换的值
* @param defaultValue 转换错误时的默认值
* @return 结果
*/
public static Byte toByte(Object value, Byte defaultValue) {
if (value == null) {
return defaultValue;
}
if (value instanceof Byte) {
return (Byte) value;
}
if (value instanceof Number) {
return ((Number) value).byteValue();
}
final String valueStr = toStr(value, null);
if (StringUtil.isEmpty(valueStr)) {
return defaultValue;
}
try {
return Byte.parseByte(valueStr);
} catch (Exception e) {
return defaultValue;
}
}
/**
* 转换为byte<br>
* 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br>
* 转换失败不会报错
*
* @param value 被转换的值
* @return 结果
*/
public static Byte toByte(Object value) {
return toByte(value, null);
}
/**
* 转换为Short<br>
* 如果给定的值为<code>null</code>,或者转换失败,返回默认值<br>
* 转换失败不会报错
*
* @param value 被转换的值
* @param defaultValue 转换错误时的默认值
* @return 结果
*/
public static Short toShort(Object value, Short defaultValue) {
if (value == null) {
return defaultValue;
}
if (value instanceof Short) {
return (Short) value;
}
if (value instanceof Number) {
return ((Number) value).shortValue();
}
final String valueStr = toStr(value, null);
if (StringUtil.isEmpty(valueStr)) {
return defaultValue;
}
try {
return Short.parseShort(valueStr.trim());
} catch (Exception e) {
return defaultValue;
}
}
/**
* 转换为Short<br>
* 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br>
* 转换失败不会报错
*
* @param value 被转换的值
* @return 结果
*/
public static Short toShort(Object value) {
return toShort(value, null);
}
/**
* 转换为Number<br>
* 如果给定的值为空,或者转换失败,返回默认值<br>
* 转换失败不会报错
*
* @param value 被转换的值
* @param defaultValue 转换错误时的默认值
* @return 结果
*/
public static Number toNumber(Object value, Number defaultValue) {
if (value == null) {
return defaultValue;
}
if (value instanceof Number) {
return (Number) value;
}
final String valueStr = toStr(value, null);
if (StringUtil.isEmpty(valueStr)) {
return defaultValue;
}
try {
return NumberFormat.getInstance().parse(valueStr);
} catch (Exception e) {
return defaultValue;
}
}
/**
* 转换为Number<br>
* 如果给定的值为空,或者转换失败,返回默认值<code>null</code><br>
* 转换失败不会报错
*
* @param value 被转换的值
* @return 结果
*/
public static Number toNumber(Object value) {
return toNumber(value, null);
}
/**
* 转换为int<br>
* 如果给定的值为空,或者转换失败,返回默认值<br>
* 转换失败不会报错
*
* @param value 被转换的值
* @param defaultValue 转换错误时的默认值
* @return 结果
*/
public static Integer toInt(Object value, Integer defaultValue) {
if (value == null) {
return defaultValue;
}
if (value instanceof Integer) {
return (Integer) value;
}
if (value instanceof Number) {
return ((Number) value).intValue();
}
final String valueStr = toStr(value, null);
if (StringUtil.isEmpty(valueStr)) {
return defaultValue;
}
try {
return Integer.parseInt(valueStr.trim());
} catch (Exception e) {
return defaultValue;
}
}
/**
* 转换为int<br>
* 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br>
* 转换失败不会报错
*
* @param value 被转换的值
* @return 结果
*/
public static Integer toInt(Object value) {
return toInt(value, null);
}
/**
* 转换为Integer数组<br>
*
* @param str 被转换的值
* @return 结果
*/
public static Integer[] toIntArray(String str) {
return toIntArray(",", str);
}
/**
* 转换为Long数组<br>
*
* @param str 被转换的值
* @return 结果
*/
public static Long[] toLongArray(String str) {
return toLongArray(",", str);
}
/**
* 转换为Integer数组<br>
*
* @param split 分隔符
* @param split 被转换的值
* @return 结果
*/
public static Integer[] toIntArray(String split, String str) {
if (StringUtil.isEmpty(str)) {
return new Integer[]{};
}
String[] arr = str.split(split);
final Integer[] ints = new Integer[arr.length];
for (int i = 0; i < arr.length; i++) {
final Integer v = toInt(arr[i], 0);
ints[i] = v;
}
return ints;
}
/**
* 转换为Long数组<br>
*
* @param split 分隔符
*
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Spring Boot + Security + MyBatis Plus+Mysql低代码快速开发平台,系统经多次测试,运行无误,大家放心下载
资源推荐
资源详情
资源评论
收起资源包目录
Spring Boot + Security + MyBatis Plus+Mysql低代码快速开发平台 (1745个子文件)
CHANGES 3KB
CHANGES 3KB
Convert.class 14KB
GenTableServiceImpl.class 13KB
SysLog.class 12KB
SecureConfiguration.class 11KB
SysRoleServiceImpl.class 11KB
SysUser.class 11KB
CpuInfo.class 10KB
SysUserController.class 10KB
GenController.class 10KB
DataScopeInterceptor.class 10KB
ProModelController.class 9KB
SysDictDataController.class 9KB
SysUserServiceImpl.class 9KB
SysRoleController.class 8KB
VelocityUtils.class 8KB
GenTableColumn.class 7KB
SysNoticeController.class 7KB
GenTable.class 7KB
SysDeptServiceImpl.class 7KB
SystemUtil.class 7KB
GenUtils.class 7KB
Result.class 6KB
SysPower.class 6KB
ProDefinedController.class 6KB
SysFileFTPServiceImpl.class 6KB
SysFileServiceImpl.class 6KB
SysSetupController.class 6KB
SysPowerController.class 6KB
RepeatAspect.class 6KB
SwaggerProperty.class 6KB
SysDeptController.class 6KB
StringUtil.class 6KB
ProEditorController.class 6KB
SysDept.class 6KB
InvocationHandler.class 6KB
ScheduleJobController.class 6KB
SysDictController.class 6KB
SysFileController.class 6KB
SecureUserTokenServiceImpl.class 5KB
BaseDomain.class 5KB
SysMenu.class 5KB
SysDictDataServiceImpl.class 5KB
ScheduleJob.class 5KB
ScheduleLog.class 5KB
SysOnlineController.class 5KB
SysConfigController.class 5KB
SecureExtendConfiguration.class 5KB
QuartzService.class 5KB
SysDataSourceServiceImpl.class 5KB
SysRole.class 5KB
SysDataSourceController.class 5KB
ServletUtil.class 5KB
SecureInvalidSession.class 5KB
CoreConfig.class 5KB
SysMailServiceImpl.class 5KB
SysMailController.class 5KB
SysNotice.class 5KB
ResultController.class 5KB
ScheduleJobServiceImpl.class 5KB
SysPowerServiceImpl.class 5KB
SysDataSource.class 5KB
DataContext.class 5KB
SysFile.class 4KB
FTPUtil.class 4KB
ValidationExceptionHandler.class 4KB
TemplateProperty.class 4KB
SysSetup.class 4KB
SqlInjectionUtil.class 4KB
SysFileInfo.class 4KB
SysMail.class 4KB
XssSupport.class 4KB
ProDefined.class 4KB
SysDictData.class 4KB
ExcelAspect.class 4KB
SysDictServiceImpl.class 4KB
GlobalExceptionHandler.class 4KB
SecurityProperty.class 4KB
SecureRememberMeHandler.class 4KB
QuartzExecute.class 4KB
SecureLogoutHandler.class 4KB
ResultTable.class 4KB
SecureAuthenticationSuccessHandler.class 4KB
SysConfig.class 3KB
SysNoticeServiceImpl.class 3KB
DictionaryCache.class 3KB
SysOnlineUser.class 3KB
SysDict.class 3KB
SecureAuthenticationFailureHandler.class 3KB
ExcelUtil.class 3KB
SysLogServiceImpl.class 3KB
LogAspect.class 3KB
SysLogController.class 3KB
RateLimitInterceptor.class 3KB
SwaggerConfig.class 3KB
SequenceUtil.class 3KB
SecureSessionService.class 3KB
ResultSelect.class 3KB
SysConfigServiceImpl.class 3KB
共 1745 条
- 1
- 2
- 3
- 4
- 5
- 6
- 18
资源评论
reg183
- 粉丝: 1811
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功