StringUtil工具类 1.0.3

package com.jfai.kg.kafkacomsu.util;


import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.UUID;


/**  
  * 
  * @Package com.jfai.kg.kafkacomsu.util
  * @author wanglf
  * @Description:  StringUtil
  * @date 2018年7月1日13:54:26
  * @version 1.0.3
  */
public class StringUtil {
/**百家姓*/
public static final String XS = "赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐费廉岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅皮卞齐康伍余元卜顾孟平黄和穆萧尹姚邵湛汪祁毛禹狄米贝明臧计伏成戴谈宋茅庞熊纪舒屈项祝董梁杜阮蓝闵席季麻强贾路娄危江童颜郭梅盛林刁钟徐邱骆高夏蔡田樊胡凌霍虞万支柯昝管卢莫经房裘缪干解应宗丁宣贲邓郁单杭洪包诸左石崔吉钮龚程嵇邢滑裴陆荣翁荀羊於惠甄曲家封芮羿储靳汲邴糜松井段富巫乌焦巴弓牧隗山谷车侯宓蓬全郗班仰秋仲伊宫宁仇栾暴甘钭厉戎祖武符刘景詹束龙叶幸司韶郜黎蓟薄印宿白怀蒲邰从鄂索咸籍赖卓蔺屠蒙池乔阴鬱胥能苍双闻莘党翟谭贡劳逄姬申扶堵冉宰郦雍卻璩桑桂濮牛寿通边扈燕冀郏浦尚农温别庄晏柴瞿阎充慕连茹习宦艾鱼容向古易慎戈廖庾终暨居衡步都耿满弘匡国文寇广禄阙东欧殳沃利蔚越夔隆师巩厍聂晁勾敖融冷訾辛阚那简饶空曾毋沙乜养鞠须丰巢关蒯相查后荆红游竺权逯盖益桓公万俟司马上官欧阳夏侯诸葛闻人东方赫连皇甫尉迟公羊澹台公冶宗政濮阳淳于单于太叔申屠公孙仲孙轩辕令狐钟离宇文长孙慕容鲜于闾丘司徒司空丌官司寇仉督子车颛孙端木巫马公西漆雕乐正壤驷公良拓跋夹谷宰父谷梁晋楚闫法汝鄢涂钦段干百里东郭南门呼延归海羊舌微生岳帅缑亢况郈有琴梁丘左丘东门西门商牟佘佴伯赏南宫墨哈谯笪年爱阳佟";


/**
* 获取简单的中文名字
*/
public static String getSimpleChineseName() {
StringBuilder sb = new StringBuilder();
sb.append(XS.charAt(new Random().nextInt(XS.length()))).append(getRandomChineseChar()).append(getRandomChineseChar());
return sb.toString();
}


/**
* 字符串替换,将 source 中的 oldString 全部换成 newString
* @param source  源字符串
* @param oldString  老的字符串
* @param newString  新的字符串
* @return 替换后的字符串 
* @deprecated 主要用于输入的表单字符串转化成HTML格式的文本
*/
public static String Replace(String source, String oldString, String newString) {
StringBuffer output = new StringBuffer();
int lengthOfSource = source.length(); // 源字符串长度
int lengthOfOld = oldString.length(); // 老字符串长度
int posStart = 0; // 开始搜索位置
int pos; // 搜索到老字符串的位置


while ((pos = source.indexOf(oldString, posStart)) >= 0) {
output.append(source.substring(posStart, pos));
output.append(newString);
posStart = pos + lengthOfOld;
}
if (posStart < lengthOfSource) {
output.append(source.substring(posStart));
}
return output.toString();
}


/**

* @param key  String
* @param value  String
* @return HashMap<String, String>
*/
public static Map<String, String> toMap(String key, String value) {
Map<String, String> map = new HashMap<String, String>();
map.put(key, value);
return map;
}


/**

* @param key  String
* @param value  Object
* @return Map<String, Object>
*/
public static Map<String, Object> toMap(String key, Object value) {
Map<String, Object> map = new HashMap<String, Object>();
map.put(key, value);
return map;
}


/**

* @param str
* @return boolean
* @Description: 判断字符串是否为数字
*/
public static boolean isNumeric(String str) {
try {
Integer.parseInt(str);
return true;
} catch (Exception e) {
return false;
}
}


/**
* 判断字符是否为空
*/
public static boolean isEmpty(String str) {
return str == null || str.length() == 0;
}


/**
* 判断字符是否为不为空
*/
public static boolean isNotEmpty(String str) {
return !isEmpty(str);
}


/**
* 判断字符是否为空或空白字符串或null组成
*/
public static boolean isBlank(String str) {
return str == null || str.length() == 0 || str.trim().equals("") || str.trim().toLowerCase().equals("null");
}


/**
* 判断字符是否为不为空或空白字符串组成
*/
public static boolean isNotBlank(String str) {
return !isBlank(str);
}


/**
* 核查字符长度
*/
public static boolean checkLength(String str, int minlen, int maxlen) {
int len = 0;
if (str != null) {
len = str.length();
}
if (len >= minlen && len <= maxlen) {
return true;
} else {
return false;
}
}


/**

* @param str
* @Description: 判断字符串是否是UUID字符串
*/
public static boolean isUUID(String str) {
try {
UUID.fromString(str);
return true;
} catch (Exception e) {
return false;
}
}


/**
* 获取UUID
*/
public static String getUUID() {
return UUID.randomUUID().toString();
}


/**
*
* @param count 
* @return 随机数字组成的字符串
* @Description: 返回一串随机数字
*/
public static String getNum(int count) {
if (count <= 0) {
return "";
}


StringBuilder s = new StringBuilder();
for (int i = 0; i < count; i++) {
s.append(new Random().nextInt(10));
}


String string = s.toString();
if (string.charAt(0) == '0') {
string = "1" + string.substring(1);
}


return string;
}


/**
* @return 单个常见汉字字符
* @Description: 随机生成常见汉字
*/
public static String getRandomChineseChar() {
String str = "";
int highCode;
int lowCode;


Random random = new Random();


highCode = (176 + Math.abs(random.nextInt(39))); // B0 + 0~39(16~55) 一级汉字所占区
lowCode = (161 + Math.abs(random.nextInt(93))); // A1 + 0~93 每区有94个汉字


byte[] b = new byte[2];
b[0] = (Integer.valueOf(highCode)).byteValue();
b[1] = (Integer.valueOf(lowCode)).byteValue();


try {
str = new String(b, "GBK");
} catch (Exception e) {
e.printStackTrace();
}
return str;
}


public static void main(String[] args) {
// Map<String, Object> map = new HashMap<>();
// map.put("wanglf", "test");
// map.put("sdwanglf", "90test");
//
// List<String> list = new ArrayList<>();
// list.add("1");
// list.add("2");
// list.add("3");
//
// System.out.println(map.get("list"));
// System.out.println(getSimpleChineseName());
// UUID.fromString("45E8D6AA-D1BC-45A7-8220-4DCOC3FA9260");
// UUID.fromString("45E8D6AA-D1BC-45A7-8220-4DC0C3FA9260");
// System.out.println(isUUID("764E41C6-D4E5-49E1-94B7-A24BD42FE3AE"));
// System.out.println(isUUID("a496dee2-3e1b-31bd-b5bf-f7d058335b7a"));
// System.out.println("a496dee2-3e1b-31bd-b5bf-f7d058335b7a".length());
//
// for (int i = 0; i < 100; i++) {
// System.out.println(getNum(i));
// }
System.out.println(isNumeric(""));
System.out.println(isNumeric(" "));
System.out.println(isNumeric("    "));
System.out.println(isNumeric("-1"));


}
}

猜你喜欢

转载自blog.csdn.net/u014793936/article/details/80806187