package com.honvay.cola.cloud.framework.util;
import java.io.StringReader;
import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.nio.charset.Charset;
import java.util.Arrays;
import java.util.Map;
import java.util.Map.Entry;
public class StringUtils extends org.apache.commons.lang3.StringUtils {
/**
* 字符串工具类
*
* @author xiaoleilu
*/
public static final String SPACE = " ";
public static final String DOT = ".";
public static final String SLASH = "/";
public static final String BACKSLASH = "\\";
public static final String EMPTY = "";
public static final String CRLF = "\r\n";
public static final String NEWLINE = "\n";
public static final String UNDERLINE = "_";
public static final String COMMA = ",";
public static final String HTML_NBSP = " ";
public static final String HTML_AMP = "&";
public static final String HTML_QUOTE = """;
public static final String HTML_LT = "<";
public static final String HTML_GT = ">";
public static final String EMPTY_JSON = "{}";
/**
* 如果字符串是<code>null</code>,则返回指定默认字符串,否则返回字符串本身。
* <p>
* <pre>
* nullToDefault(null, "default") = "default"
* nullToDefault("", "default") = ""
* nullToDefault(" ", "default") = " "
* nullToDefault("bat", "default") = "bat"
* </pre>
*
* @param str 要转换的字符串
* @param defaultStr 默认字符串
* @return 字符串本身或指定的默认字符串
*/
public static String nullToDefault(String str, String defaultStr) {
return (str == null) ? defaultStr : str;
}
/**
* 当给定字符串为空字符串时,转换为<code>null</code>
*
* @param str 被转换的字符串
* @return 转换后的字符串
*/
public static String emptyToNull(String str) {
return isEmpty(str) ? null : str;
}
/**
* 是否包含空字符串
*
* @param strs 字符串列表
* @return 是否包含空字符串
*/
public static boolean hasEmpty(String... strs) {
for (String str : strs) {
if (isEmpty(str)) {
return true;
}
}
return false;
}
/**
* 是否全部为空字符串
*
* @param strs 字符串列表
* @return 是否全部为空字符串
*/
public static boolean isAllEmpty(String... strs) {
for (String str : strs) {
if (isNotEmpty(str)) {
return false;
}
}
return true;
}
/**
* 是否以指定字符串开头
*
* @param str 被监测字符串
* @param prefix 开头字符串
* @param isIgnoreCase 是否忽略大小写
* @return 是否以指定字符串开头
*/
public static boolean startWith(String str, String prefix, boolean isIgnoreCase) {
if (isIgnoreCase) {
return str.toLowerCase().startsWith(prefix.toLowerCase());
} else {
return str.startsWith(prefix);
}
}
/**
* 是否以指定字符串结尾
*
* @param str 被监测字符串
* @param suffix 结尾字符串
* @param isIgnoreCase 是否忽略大小写
* @return 是否以指定字符串结尾
*/
public static boolean endWith(String str, String suffix, boolean isIgnoreCase) {
if (isIgnoreCase) {
return str.toLowerCase().endsWith(suffix.toLowerCase());
} else {
return str.endsWith(suffix);
}
}
/**
* 是否包含特定字符,忽略大小写,如果给定两个参数都为<code>null</code>,返回true
*
* @param str 被检测字符串
* @param testStr 被测试是否包含的字符串
* @return 是否包含
*/
public static boolean containsIgnoreCase(String str, String testStr) {
if (null == str) {
//如果被监测字符串和
return null == testStr;
}
return str.toLowerCase().contains(testStr.toLowerCase());
}
/**
* 获得set或get方法对应的标准属性名<br/>
* 例如:setName 返回 name
*
* @param getOrSetMethodName
* @return 如果是set或get方法名,返回field, 否则null
*/
public static String getGeneralField(String getOrSetMethodName) {
if (getOrSetMethodName.startsWith("get") || getOrSetMethodName.startsWith("set")) {
return cutPreAndLowerFirst(getOrSetMethodName, 3);
}
return null;
}
/**
* 生成set方法名<br/>
* 例如:name 返回 setName
*
* @param fieldName 属性名
* @return setXxx
*/
public static String genSetter(String fieldName) {
return upperFirstAndAddPre(fieldName, "set");
}
/**
* 生成get方法名
*
* @param fieldName 属性名
* @return getXxx
*/
public static String genGetter(String fieldName) {
return upperFirstAndAddPre(fieldName, "get");
}
/**
* 去掉首部指定长度的字符串并将剩余字符串首字母小写<br/>
* 例如:str=setName, preLength=3 -> return name
*
* @param str 被处理的字符串
* @param preLength 去掉的长度
* @return 处理后的字符串,不符合规范返回null
*/
public static String cutPreAndLowerFirst(String str, int preLength) {
if (str == null) {
return null;
}
if (str.length() > preLength) {
char first = Character.toLowerCase(str.charAt(preLength));
if (str.length() > preLength + 1) {
return first + str.substring(preLength + 1);
}
return String.valueOf(first);
}
return null;
}
/**
* 原字符串首字母大写并在其首部添加指定字符串 例如:str=name, preString=get -> return getName
*
* @param str 被处理的字符串
* @param preString 添加的首部
* @return 处理后的字符串
*/
public static String upperFirstAndAddPre(String str, String preString) {
if (str == null || preString == null) {
return null;
}
return preString + capitalize(str);
}
/**
* 去掉指定前缀
*
* @param str 字符串
* @param prefix 前缀
* @return 切掉后的字符串,若前缀不是 preffix, 返回原字符串
*/
public static String removePrefix(String str, String prefix) {
if (isEmpty(str) || isEmpty(prefix)) {
return str;
}
if (str.startsWith(prefix)) {
return str.substring(prefix.length());
}
return str;
}
/**
* 忽略大小写去掉指定前缀
*
* @param str 字符串
* @param prefix 前缀
* @return 切掉后的字符串,若前缀不是 prefix, 返回原字符串
*/
public static String removePrefixIgnoreCase(String str, String prefix) {
if (isEmpty(str) || isEmpty(prefix)) {
return str;
}
if (str.toLowerCase().startsWith(prefix.toLowerCase())) {
return str.substring(prefix.length());
}
return str;
}
/**
* 去掉指定后缀
*
* @param str 字符串
* @param suffix 后缀
* @return 切掉后的字符串,若后缀不是 suffix, 返回原字符串
*/
public static String removeSuffix(String str, String suffix) {
if (isEmpty(str) || isEmpty(suffix)) {
return str;
}
if (str.endsWith(suffix)) {
return str.substring(0, str.length() -
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Cola Cloud 基于 Spring Boot, Spring Cloud 构建微服务架构企业级开发平台,集成OAuth2认证、集成短信验证码登录、微信小程序登录、FlyWay数据库版本管理、网关集成Swagger聚合所有服务API文档。基于SpringBootAdmin集成Hystrix、Turbine监控。开发用户中心、权限管理、组织架构、数据字典、消息中心、通知中心等模块。基于MyBatisPlus Generator 开发代码生成器
资源推荐
资源详情
资源评论
收起资源包目录
Cola Cloud 基于 Spring Boot, Spring Cloud 构建微服务架构企业级开发平台 (599个子文件)
share.css 287KB
share.min.css 239KB
style.css 55KB
launch.css 20KB
animation.css 12KB
app.min.css 8KB
control.min.css 2KB
dashboard.min.css 1KB
Dockerfile 255B
Dockerfile 181B
Dockerfile 176B
Dockerfile 175B
Dockerfile 167B
Dockerfile 165B
fontawesome-webfont.eot 55KB
fontawesome-webfont.eot 55KB
museo-500.eot 36KB
museo-300.eot 36KB
museo-100.eot 36KB
Simple-Line-Icons.eot 35KB
Simple-Line-Icons.eot 35KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
iconfont.eot 7KB
iconfont.eot 7KB
spring.factories 155B
spring.factories 154B
spring.factories 148B
spring.factories 129B
logo_large@2x.gif 12KB
piggy_large@2x.gif 11KB
logo@2x.gif 9KB
piggy@2x.gif 9KB
logo_large.gif 6KB
logotext_large@2x.gif 6KB
logo.gif 6KB
piggy.gif 6KB
logotext@2x.gif 5KB
piggy_large.gif 5KB
logotext_large.gif 4KB
preloader.gif 3KB
logotext.gif 2KB
github.gif 2KB
.gitignore 101B
.gitignore 9B
home.html 31KB
index.html 11KB
index.html 2KB
attribution.html 1KB
index.html 149B
StringUtils.java 31KB
BaseServiceImpl.java 19KB
ServiceAssert.java 12KB
CryptUtils.java 9KB
SysResourceServiceImpl.java 9KB
SysUserServiceImpl.java 9KB
SysResourceCacheService.java 9KB
VerificationCodeUtils.java 9KB
DatabaseCachableClientDetailsService.java 8KB
FileUtils.java 7KB
VerificationCodeServiceImpl.java 7KB
SysEmployeeServiceImpl.java 7KB
GlobalExceptionHandler.java 7KB
MailSender.java 7KB
SysTenantServiceImpl.java 6KB
SysAuthorityServiceImpl.java 6KB
SysAuthorizeServiceImpl.java 6KB
CriteriaParser.java 6KB
GenerateService.java 6KB
SysUserController.java 5KB
WechatMaConfiguration.java 5KB
MessageServiceImpl.java 5KB
SysOrganizationServiceImpl.java 5KB
DictServiceImpl.java 4KB
AliyunSmsSender.java 4KB
IntegrationAuthenticationFilter.java 4KB
SysLogAspectService.java 4KB
GeneralVerificationCodeCache.java 4KB
AttachmentServiceImpl.java 4KB
SecurityAccessMetadataSource.java 4KB
AttachmentController.java 4KB
IdUtils.java 4KB
LocalFileStorage.java 4KB
Result.java 4KB
InParser.java 4KB
DateUtils.java 4KB
AuthorizationServerConfiguration.java 4KB
SmsIntegrationAuthenticator.java 4KB
VerificationCodeService.java 4KB
BetweenAndParser.java 3KB
User.java 3KB
SecurityAccessAutoConfiguration.java 3KB
CommonMapper.java 3KB
BeanUtils.java 3KB
SysResourceController.java 3KB
SysTenantController.java 3KB
BaseController.java 3KB
ZipUtils.java 3KB
SysRoleServiceImpl.java 3KB
ReflectionUtils.java 3KB
共 599 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
Java程序员-张凯
- 粉丝: 1w+
- 资源: 6649
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功