String 工具类
package com.mytripod.util;
import sun.rmi.runtime.Log;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.util.List;
import java.util.StringTokenizer;
/**
* @author Mytripod
* @create 2018-09-30 21:30
*/
public class StringUtil {
private static Log log = LogFactory.getLog(StringUtil.class);
public static String ENCODING = "UTF-8";
public static String encodePassword(String password, String algorithm) {
byte[] unencodedPassword = password.getBytes();
MessageDigest md = null;
try {
md = MessageDigest.getInstance(algorithm);
} catch (Exception e) {
log.error("Exception: " + e);
return password;
}
md.reset();
md.update(unencodedPassword);
byte[] encodedPassword = md.digest();
StringBuffer buf = new StringBuffer();
for (int i = 0; i < encodedPassword.length; i++) {
if (((int) encodedPassword[i] & 0xff) < 0x10) {
buf.append("0");
}
buf.append(Long.toString((int) encodedPassword[i] & 0xff, 16));
}
return buf.toString();
}
public static String encodeString(String str) {
if (str == null)
return null;
try {
byte[] b = Base64.encodeBase64(str.getBytes(ENCODING));
return new String(b, ENCODING);
} catch (UnsupportedEncodingException e) {
return null;
}
}
public static String encodeStringURLSafe(String str) {
if (str == null)
return null;
try {
byte[] b = Base64.encodeBase64URLSafe(str.getBytes(ENCODING));
return new String(b, ENCODING);
} catch (UnsupportedEncodingException e) {
return null;
}
}
public static String decodeString(String str) {
if (str == null)
return null;
try {
byte[] b = Base64.decodeBase64(str.getBytes(ENCODING));
return new String(b, ENCODING);
} catch (Exception e) {
return null;
}
}
public static String swapFirstLetterCase(String string) {
StringBuffer sbuf = new StringBuffer(string);
sbuf.deleteCharAt(0);
if (Character.isLowerCase(string.substring(0, 1).toCharArray()[0])) {
sbuf.insert(0, string.substring(0, 1).toUpperCase());
} else {
sbuf.insert(0, string.substring(0, 1).toLowerCase());
}
return sbuf.toString();
}
public static String trim(String origString, String trimString) {
int startPosit = origString.indexOf(trimString);
if (startPosit != -1) {
int endPosit = trimString.length() + startPosit;
return origString.substring(0, startPosit) + origString.substring(endPosit);
}
return origString;
}
public static boolean contain(String origString, String containString) {
if (origString.indexOf(containString) != -1) {
return true;
}
return false;
}
/**
*
* @param origString
* @param stringToken
*/
public static String getLastString(String origString, String stringToken) {
StringTokenizer st = new StringTokenizer(origString, stringToken);
String lastString = "";
while (st.hasMoreTokens()) {
lastString = st.nextToken();
}
return lastString;
}
/**
* @param string
* @param token
*/
public static String[] getStringArray(String string, String token) {
if (string.indexOf(token) != -1) {
StringTokenizer st = new StringTokenizer(string, token);
String[] stringArray = new String[st.countTokens()];
for (int i = 0 ; st.hasMoreTokens(); i++) {
stringArray[i] = st.nextToken();
}
return stringArray;
}
return new String [] {string};
}
public static String[] getStringArray(String string) {
StringTokenizer st = new StringTokenizer(string);
String[] stringArray = new String[st.countTokens()];
for (int i = 0 ; st.hasMoreTokens(); i++) {
stringArray[i] = st.nextToken();
}
return stringArray;
}
public static String replace(String string, String replaced, String replace) {
String newString = "";
if (string.indexOf(replaced) != -1 ) {
String s1 = string.substring(0, string.indexOf(replaced));
String s2 = string.substring(string.indexOf(replaced) + 1);;
newString = s1 + replace + s2;
}
return newString;
}
public static boolean hasLength(String str) {
return (str != null && str.length() > 0);
}
public static boolean hasText(String str) {
int strLen;
if (str == null || (strLen = str.length()) == 0) {
return false;
}
for (int i = 0; i < strLen; i++) {
if (!Character.isWhitespace(str.charAt(i))) {
return true;
}
}
return false;
}
public static String toString(Object obj) {
return ToStringBuilder.reflectionToString(obj,ToStringStyle.DEFAULT_STYLE);
}
public static void main(String[] args) {
String s = "work$id";
s = StringUtil.replace(s, "$", ".");
System.out.print(s);
}
public static boolean notEmpty(String str) {
if ( str == null ) return false;
else if ( str.equals("") ) return false;
else return true;
}
public static boolean isNotEmpty(String s) {
return s != null && !s.trim().equals("");
}
public static boolean isEmpty(String s) {
return s == null || s.trim().equals("");
}
public static boolean isNotNull(String s) {
return s != null;
}
public static boolean isEqual(String s, Object o) {
return isNotEmpty(s) && s.equals(o);
}
/**
* 将字符串数组转化为in条件用的字符串
* @param str
* @return
*/
public static String getInClause(String[] str) {
StringBuffer result = new StringBuffer();
for(int i=0; i<str.length; i++) {
if(i>0) {
result.append(",");
}
result.append("'" + str[i] +"'");
}
return result.toString();
}
public static String getInClause(List<String> list) {
String[] arr = (String[])list.toArray(new String[list.size()]);
return getInClause(arr);
}
public static boolean isNumeric(String str){
for(int i=str.length();--i>=0;){
int chr=str.charAt(i);
if(chr<48 || chr>57)
return false;
}
return true;
}
public static String jsonString(String s){
String str = "";
char[] temp = s.toCharArray();
int n = temp.length;
for(int i =0;i<n;i++){
if(temp[i]=='"'){
str = str + "”";
}else{
str = str + temp[i];
}
}
return str;
}
}
String 工具类的更多相关文章
- String工具类
String工具类 问题描述 MAVEN依赖 代码成果 问题描述 很多时候我们需要对字符串进行很多固定的操作,而这些操作在JDK/JRE中又没有预置,于是我们想到了apache-commons组件,但 ...
- 实用的 集合工具类 和 String工具类
集合工具类:CollectionUtil method: 1.isNotEmpty() 不为空 2.isEmpty() 为空 举例:map集合 Map<String,String ...
- [分享]一个String工具类,也许你的项目中会用得到
每次做项目都会遇到字符串的处理,每次都会去写一个StringUtil,完成一些功能. 但其实每次要的功能都差不多: 1.判断类(包括NULL和空串.是否是空白字符串等) 2.默认值 3.去空白(tri ...
- JAVA String 工具类
java StringUtil 字符串工具类 import java.util.ArrayList; import java.util.LinkedHashSet; import java.util. ...
- String工具类2
1:比较字符串 public static void main(String[] args) { // String去创建对象有多种方式 // 方式1 直接字面值赋值 String s = " ...
- 优雅的将Map转为String工具类
import com.alibaba.fastjson.JSONObject;import org.apache.commons.lang3.StringUtils; import java.lang ...
- String工具类之“四个判空方式”StringUtils.isNotBlank和StringUtils.isEmpty和StringUtils.isBlank和StringUtils.isNotEmpty
一.判断str字符串都不为空==>StringUtils.isNotBlank(String str); 1 /** 2 * <p>检查一个字符串是否非空("") ...
- String工具类之“前缀比较”StringUtils.startsWith和StringUtils.startsWithIgnoreCase
(1)字符串以prefix为前缀(区分大小写) StringUtils.startsWith(被比较的字符串,比较字符串) 总结: 根据下面代码发现,上面的例子有部分时错误的,有可能是因为思维原因,他 ...
- java工具类
1.HttpUtilsHttp网络工具类,主要包括httpGet.httpPost以及http参数相关方法,以httpGet为例:static HttpResponse httpGet(HttpReq ...
随机推荐
- MySQL基础 -- 关系代数
MySQL基础 -- 关系代数 关系代数是一种抽象的查询语言,它用对关系的运算来表达查询. 任何一种运算都是将一定的运算符作用于一定的运算对象上,得到预期的结果.所以运算对象.运算符.运算结果是运算 ...
- (3)css文本样式
本篇学习资料主要讲解: 如何用css 的样式定义方法来介绍文字的使用. 第(1)节:用css设置文本样式. 一.弄懂文本文字的制作.利用css的样式定义版面 ...
- 又一篇Centos7下的asp.net core部署教程
历程2个多月的学习,我终于从PHP转.Net开发了. 从壹开始前后端分离[ .NETCore2.1 +Vue 2 +AOP+DI]框架 感谢老张的博客,我对asp.net core入门主要就是靠他的博 ...
- C# 读写text 详细讲解
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> & ...
- pip 的具体含义
Python 2.7.9 and later (on the python2 series), and Python 3.4 and later include pip (pip3 for Pytho ...
- ajax异步请求后台数据处理
$.ajax({ type: "POST", url: "./rule/list/device/list", data: JSON.stringify(obj) ...
- 关于Http的小常识(转载,仅供参考)
HTTP请求头提供了关于请求,响应或者其他的发送实体的信息.HTTP的头信息包括通用头.请求头.响应头和实体头四个部分.每个头域由一个域名,冒号(:)和域值三部分组成. 通用头标:即可用于请求,也可用 ...
- KMP HDOJ 4300 Clairewd's message
题目传送门 题意:完全不懂,最后还是看题解才理解了.第一行字符串是密文变成明文的规则,比如第二个样例:“qwertyuiopasdfghjklzxcvbnm”,‘q'对应的明文为’a','w'对应'b ...
- Statistics gathering and SQL Tuning Advisor
1. https://www.pythian.com/blog/statistics-gathering-and-sql-tuning-advisor/ Our monitoring software ...
- Web前端深思
WEB视图层技术从最初刀耕火种的时代到如今技术框架丛生,其中的感受只有经历过才知道.但到目前为止前端领域还只是整个IT行业比较边缘化的分支,因为目前的前端coder大多都还停留在视图层的处理上,利用前 ...