Java自带工具方法
List集合拼接成以逗号分隔的字符串
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("相等");
}
比较两个对象是否相等
当用equals比较两个对象是否相等时,还需要对左边的对象进行判空,不然可能会报空指针异常,可以用java.util包下Objects封装好的比较是否相等的方法
Objects.equals(strA, strB);
// 源码
public static boolean equals(Object a, Object b) {
return (a == b) || (a != null && a.equals(b));
}
对象判空
Integer integer = new Integer(1);
if (Objects.isNull(integer)) {
System.out.println("对象为空");
}
if (Objects.nonNull(integer)) {
System.out.println("对象不为空");
}
对象为空抛异常
如果想在对象为空时,抛出空指针异常,可以使用Objects的requireNonNull
方法
Integer integer1 = new Integer(128);
Objects.requireNonNull(integer1);
Objects.requireNonNull(integer1, "参数不能为空");
Objects.requireNonNull(integer1, () -> "参数不能为空");
获取对象的hashCode
String str = new String("abc");
System.out.println(Objects.hashCode(str));
两个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]
集合排序
List<Integer> list = new ArrayList<>();
list.add(2);
list.add(1);
list.add(3);
Collections.sort(list);// 升序
System.out.println(list);
Collections.reverse(list);// 反转
System.out.println(list);
求集合最大值最小值
List<Integer> list = new ArrayList<>();
list.add