位置:org.springframework.util
�实现接口:无
继承类:无(抽象类)
作用:提供框架内部使用的集合相关工具类

一、效果

  1. // 演示contains方法(迭代器中是否包含元素)
  2. @Test
  3. public void test1(){
  4. List<String> list = new ArrayList<String>();
  5. list.add("test1");
  6. list.add("test2");
  7. list.add("test3");
  8. String elm1 = "test1";
  9. String elm2 = "null";
  10. String elm3 = null;
  11. boolean contains1 = CollectionUtils.contains(list.listIterator(), elm1);
  12. boolean contains2 = CollectionUtils.contains(list.listIterator(), elm2);
  13. boolean contains3 = CollectionUtils.contains(list.listIterator(), elm3);
  14. System.out.println(contains1); // true
  15. System.out.println(contains2); // false
  16. System.out.println(contains3); // false
  17. }

二、API

  1. // 常用的API:
  2. // 检查提供的迭代器中是否包含提供的元素,包含则返回true,否则返回false。
  3. public static boolean contains(@Nullable Iterator<?> iterator, Object element) {
  4. if (iterator != null) {
  5. while (iterator.hasNext()) {
  6. Object candidate = iterator.next();
  7. if (ObjectUtils.nullSafeEquals(candidate, element)) {
  8. return true;
  9. }
  10. }
  11. }
  12. return false;
  13. }
  14. // 判断提供的Collection是否为空或者为null,是的话返回true,否则返回false。
  15. public static boolean isEmpty(@Nullable Collection<?> collection) {
  16. return (collection == null || collection.isEmpty());
  17. }
  18. /*
  19. 将提供的数据源转换为List集合。
  20. 注意:通常,首选标准Arrays.asList方法。 此arrayToList方法仅用于在运行时处理传入
  21. 的Object值,该值可能是Object []或原始数组。
  22. */
  23. public static List arrayToList(@Nullable Object source) {
  24. return Arrays.asList(ObjectUtils.toObjectArray(source));
  25. }

三、总结

CollectionUtils提供了数组、枚举、迭代器、Map、List等多种类别的转换与元素检查方法。该工具类的方法逻辑简单且严谨,在编写个人程序时也可以使用。

四、补充