String拼接
// 方式1:apache common long3
String fileName = StringUtils.join(new String[]{"生产员工绩效",
LocalDateTime.now().format(DateTimeFormatter.ofPattern("YYYYMMddHHmmss")),
randomAlphanumeric(4).toLowerCase()}, "_");
// aa,bb,cc
String join = StringUtils.join(new String[]{"aa","bb","cc"}, ",");
// 方式2: guava
Joiner.on("_").join(new String[]{"aa","bb"}); // aa_bb
// 方式1: jdk,改方法底层是StringJoiner
String.join("|", "aa", "bb"); // aa|bb
// aa,bb
StringJoiner sj = new StringJoiner(",")
.add("aa")
.add("bb");
对于异常的处理:
// ,bb,cc
String join = StringUtils.join(new String[]{null,"bb","cc"}, ",");
// null|bb|cc
String join1 = String.join("|", new String[]{null, "bb", "cc"});
// 抛异常 java.lang.NullPointerException
String join2 = Joiner.on("_").join(new String[]{null, "bb", "cc"});
随机数获取
Random rand = new Random();
// **生产0(包含)到999(包含)的随机数**
int shu2 = rand.nextInt(1000);
System.out.println(shu2); // 908
//生成0-1之间的double数
double random = Math.random();
System.out.println(random); // 0.9705258040472416
// 3位数值类型
String random1 = RandomStringUtils.randomNumeric(3);
// 3位字母类型
String s1 = RandomStringUtils.randomAlphabetic(3);
System.out.println(random1); // 391
System.out.println(s1); // nPa
// 4位随机数,指定字符集
String random2 = RandomStringUtils.random(4, "0123456789");
System.out.println(random2); // 5773
字符串截取和填充
StringUtils 是 apache common long3 包下的工具类
//字符串截取
String a = "abc";
// String substring = a.substring(0, 6);//不推荐,因为可能会出现越界
String left = StringUtils.left(a, 10);
System.out.println(left); // abc
String left1 = StringUtils.left(a, 2);
System.out.println(left1); // ab
//截取
String substring = StringUtils.substring("ENZ1013[040+040]", 3, 7);
System.out.println(substring);
String s = StringUtils.substringBetween("ENZ1013[040+060]", "[", "]");
System.out.println(s); // 040+060
// 填充
String s = StringUtils.leftPad(a, 10, "t");
System.out.println(s); // tttttttabc
// 转换
System.out.println(String.format("%04d",12345)); // 12345
System.out.println(String.format("%04d",12)); // 0012
判空和比较
String a = "";
String a1 = null;
String a2 = "abc";
System.out.println(StringUtils.isBlank(a)); // true
System.out.println(StringUtils.isEmpty(a)); // true
System.out.println(StringUtils.isNoneBlank(a, a1)); // false
System.out.println(StringUtils.isNoneBlank(a, a1, a2)); // false
System.out.println(StringUtils.isNoneBlank(a, a2)); // false
System.out.println(StringUtils.isNoneBlank(a2)); // true
System.out.println(StringUtils.isAllBlank(a, a1, a2)); // false
System.out.println(StringUtils.isAllBlank(a, a1)); // true
System.out.println(Objects.isNull(a)); // false
System.out.println(Objects.isNull(a1)); // true
System.out.println(Objects.equals(a1, null)); // true
System.out.println(Objects.equals(a, "")); // true
System.out.println(Objects.equals(a2, "abc")); // true
//判断起始
String a1 = "ELM";
String aa1 = "ELM1013100N-W";
boolean b = StringUtils.startsWith(aa1, a1); // true
System.out.println(b);
//判断结束
boolean b1 = StringUtils.endsWith("P", "LLM10060"); // false
System.out.println(b1);
String的format
// 0 代表前面补充0
// 8 代表长度为4
// d 代表参数为正数型
System.out.println(String.format("%08d",12345)); // 00012345