Browse Source

CollUtil.forEach 增加null 判断

bwcx_jzy 5 years ago
parent
commit
0e31ba2fc5
1 changed files with 12 additions and 0 deletions
  1. 12 0
      hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java

+ 12 - 0
hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java

@@ -2560,6 +2560,9 @@ public class CollUtil {
 	 * @since 5.4.7
 	 */
 	public static <T> void forEach(Iterable<T> iterable, Consumer<T> consumer) {
+		if(iterable == null){
+			return;
+		}
 		forEach(iterable.iterator(), consumer);
 	}
 
@@ -2571,6 +2574,9 @@ public class CollUtil {
 	 * @param consumer {@link Consumer} 遍历的每条数据处理器
 	 */
 	public static <T> void forEach(Iterator<T> iterator, Consumer<T> consumer) {
+		if(iterator == null){
+			return;
+		}
 		int index = 0;
 		while (iterator.hasNext()) {
 			consumer.accept(iterator.next(), index);
@@ -2586,6 +2592,9 @@ public class CollUtil {
 	 * @param consumer    {@link Consumer} 遍历的每条数据处理器
 	 */
 	public static <T> void forEach(Enumeration<T> enumeration, Consumer<T> consumer) {
+		if(enumeration == null){
+			return;
+		}
 		int index = 0;
 		while (enumeration.hasMoreElements()) {
 			consumer.accept(enumeration.nextElement(), index);
@@ -2603,6 +2612,9 @@ public class CollUtil {
 	 * @param kvConsumer {@link KVConsumer} 遍历的每条数据处理器
 	 */
 	public static <K, V> void forEach(Map<K, V> map, KVConsumer<K, V> kvConsumer) {
+		if(map == null){
+			return;
+		}
 		int index = 0;
 		for (Entry<K, V> entry : map.entrySet()) {
 			kvConsumer.accept(entry.getKey(), entry.getValue(), index);