1 JAVA自带工具类
List集合拼接成以逗号分隔的字符串
// 如何把list集合拼接成以逗号分隔的字符串 a,b,c
List<String> list = Arrays.asList("a", "b", "c");
// 第一种方法,可以用stream流
String join = list.stream().collect(Collectors.joining(","));
System.out.println(join); // 输出 a,b,c
// 第二种方法,其实String也有join方法可以实现这个功能
String join = String.join(",", list);
System.out.println(join); // 输出 a,b,c
比较两个字符串是否相等,忽略大小写
if (strA.equalsIgnoreCase(strB)) {
System.out.println("相等");
}
比较两个对象是否相等
Objects.equals(strA, strB);
//Objects内部比较方式
public static boolean equals(Object a, Object b) {
return (a == b) || (a != null && a.equals(b));
}
两个List集合取交集
List<String> list1 = new ArrayList<>();
list1.add("a");
list1.add("b");
list1.add("c");
List<String> list2 = new ArrayList<>();
list2.add("a");
list2.add("b");
list2.add("d");
list1.retainAll(list2);
System.out.println(list1); // 输出[a, b]
2. apache commons工具类库
maven依赖版本
org.apache.commons
commons-lang3
3.12.0
字符串判空
传参CharSequence类型是String、StringBuilder、StringBuffer的父类,都可以直接下面方法判空,以下是源码:
public static boolean isEmpty(final CharSequence cs) {
return cs == null || cs.length() == 0;
}
public static boolean isNotEmpty(final CharSequence cs) {
return !isEmpty(cs);
}
// 判空的时候,会去除字符串中的空白字符,比如空格、换行、制表符
public static boolean isBlank(final CharSequence cs) {
final int strLen = length(cs);
if (strLen == 0) {
return true;
}
for (int i = 0; i < strLen; i++) {
if (!Character.isWhitespace(cs.charAt(i))) {
return false;
}
}
return true;
}
public static boolean isNotBlank(final CharSequence cs) {
return !isBlank(cs);
}
首字母转成大写
String capitalize = StringUtils.capitalize(str);
重复拼接字符串
String str = StringUtils.repeat("ab", 2);
格式化日期
// Date类型转String类型
String date = DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss");
// String类型转Date类型
Date date = DateUtils.parseDate("2021-06-01 00:00:00", "yyyy-MM-dd HH:mm:ss")
包装临时对象
ImmutablePair<Integer, String> pair = ImmutablePair.of(1, "hxb");
System.out.println(pair.getLeft() + "," + pair.getRight()); //
// 返回三个字段
ImmutableTriple<Integer, String, Date> triple = ImmutableTriple.of(1, "hxb", new Date());
System.out.println(triple.getLeft() + "," + triple.getMiddle() + "," + triple.getRight());