package com.ruoyi.common.core.text;
import com.ruoyi.common.utils.StringUtils;
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;
/**
* 类型转换器
*
* @author ruoyi
*/
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 StringUtils.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 (StringUtils.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 (StringUtils.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 (StringUtils.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 (StringUtils.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 (StringUtils.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;
}
/**
* 转�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本项目是基于Java的智慧园区管理系统设计源码,包含597个文件,其中主要包含280个java源代码文件,105个vue前端文件,91个js脚本文件等。系统采用了Java、Vue、JavaScript和HTML技术,实现了智慧园区的管理功能,包括资产管理、企业服务、档案管理、活动搭建和商城搭建等。项目结构清晰,代码可读性强,易于理解和维护。
资源推荐
资源详情
资源评论
收起资源包目录
基于Java的智慧园区管理系统设计源码 (593个子文件)
.browserslistrc 34B
.env.development 151B
.editorconfig 659B
.env 155B
.gitattributes 26B
.gitignore 214B
index.html 2KB
Convert.java 24KB
ExcelUtil.java 23KB
JSONObject.java 20KB
HTMLFilter.java 19KB
ReflectUtils.java 13KB
UserServiceImpl.java 12KB
VelocityUtils.java 10KB
UserAgentUtils.java 10KB
GenTableServiceImpl.java 10KB
RoleServiceImpl.java 9KB
StringUtils.java 9KB
MenuServiceImpl.java 9KB
DeptServiceImpl.java 8KB
GuavaCacheUtil.java 8KB
HttpUtils.java 8KB
UserController.java 7KB
GenTableColumn.java 7KB
FileUploadUtils.java 7KB
SmsServiceImpl.java 7KB
JobServiceImpl.java 6KB
GenUtils.java 6KB
DateUtils.java 6KB
DataScopeAspect.java 6KB
AuthFilter.java 6KB
OperLogAspect.java 6KB
RegisterController.java 5KB
IBaseServiceImpl.java 5KB
IpUtils.java 5KB
GenTable.java 5KB
FileCloudServiceImpl.java 5KB
JobInvokeUtil.java 5KB
JsonUtils.java 5KB
GenController.java 5KB
WxMaUserController.java 5KB
FileController.java 5KB
ProfileController.java 4KB
RedisAspect.java 4KB
OssController.java 4KB
UserConstants.java 4KB
SysLoginServiceImpl.java 4KB
BaseController.java 4KB
IUserService.java 4KB
JobController.java 4KB
JSON.java 4KB
FileUtils.java 4KB
PasswordAPIController.java 4KB
EscapeUtil.java 4KB
BeanUtils.java 4KB
WxLoginAPIController.java 4KB
DictTypeServiceImpl.java 4KB
User.java 4KB
AccessTokenServiceImpl.java 4KB
ScheduleUtils.java 3KB
OnlineController.java 3KB
ConfigServiceImpl.java 3KB
CloudStorageConfig.java 3KB
MybatisEnumTypeHandler.java 3KB
RedisConfig.java 3KB
SnServiceImpl.java 3KB
StrFormatter.java 3KB
Arith.java 3KB
ServletUtils.java 3KB
AbstractQuartzJob.java 3KB
UserMapper.java 3KB
IRoleService.java 3KB
MenuController.java 3KB
DruidProperties.java 3KB
PolicyBannerController.java 3KB
GenConstants.java 3KB
DistrictsController.java 3KB
DictDataController.java 3KB
DjBannerController.java 3KB
SpringUtils.java 3KB
RedisUtils.java 3KB
DistrictsServiceImpl.java 3KB
RoleController.java 3KB
TokenController.java 3KB
DictDataServiceImpl.java 3KB
ExpenseSettingsController.java 3KB
QcloudCloudStorageService.java 3KB
PolicyController.java 3KB
GlobalExceptionHandler.java 3KB
YamlUtil.java 3KB
IMenuService.java 3KB
DeptMapper.java 2KB
DjController.java 2KB
JobLogController.java 2KB
SignatureUtils.java 2KB
CharsetKit.java 2KB
ExpenseSettingsServiceImpl.java 2KB
OperLog.java 2KB
DictTypeController.java 2KB
MenuMapper.java 2KB
共 593 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
沐知全栈开发
- 粉丝: 4767
- 资源: 3372
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 毕业设计基于STM32F103C8T6单片机实现智慧厨房源码.zip
- 基于python实现的高考志愿填报参考系统源码+sql数据库(高分毕业设计).zip
- 基于python实现的高考志愿填报参考系统源码+数据库(毕业设计).zip
- 人工智能大赛无人车挑战杯车道线检测python源码.zip
- 基于风控模型的银行客户信用风险评估系统源码+项目说明+数据集(使用jupter notebook).zip
- python基于可变卷积改进的U-Net网络实现对胰腺细胞的精准切割源码(高分项目).zip
- python基于可变卷积改进的U-Net网络实现对胰腺细胞的精准切割源码(高分项目).zip
- 基于javascript实现的蚁群算法(JS代码)
- 基于python实现的随机森林(python代码)
- python读取excel到数据库中,简单的数据库管理脚本
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功