From 06e136f3112002dd3149c339643e37f626e6980f Mon Sep 17 00:00:00 2001 From: Looly Date: Sun, 11 Jul 2021 18:07:56 +0800 Subject: [PATCH] add methods --- CHANGELOG.md | 1 + .../cn/hutool/core/collection/CollUtil.java | 24 +++++++++++++++++++ .../core/io/FastByteArrayOutputStream.java | 6 ++++- 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4bbf1dd54..9110025bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ * 【setting】 修复Props中Charset对象无法序列化的问题(pr#1694@Github) * 【db 】 修复PageResult首页判断逻辑问题(issue#1699@Github) * 【core 】 修复IdcardUtil可能数组越界问题(pr#1702@Github) +* 【core 】 修复FastByteArrayOutputStream索引越界问题(issue#I402ZP@Github) ------------------------------------------------------------------------------------------------------------- diff --git a/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java b/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java index 5f283eb5b..417f3a152 100644 --- a/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java @@ -1602,6 +1602,18 @@ public class CollUtil { return null == enumeration || false == enumeration.hasMoreElements(); } + /** + * Map是否为空 + * + * @param map 集合 + * @return 是否为空 + * @see MapUtil#isEmpty(Map) + * @since 5.7.4 + */ + public static boolean isEmpty(Map map) { + return MapUtil.isEmpty(map); + } + // ---------------------------------------------------------------------- isNotEmpty /** @@ -1658,6 +1670,18 @@ public class CollUtil { return IterUtil.hasNull(iterable); } + /** + * Map是否为非空 + * + * @param map 集合 + * @return 是否为非空 + * @see MapUtil#isNotEmpty(Map) + * @since 5.7.4 + */ + public static boolean isNotEmpty(Map map) { + return MapUtil.isNotEmpty(map); + } + // ---------------------------------------------------------------------- zip /** diff --git a/hutool-core/src/main/java/cn/hutool/core/io/FastByteArrayOutputStream.java b/hutool-core/src/main/java/cn/hutool/core/io/FastByteArrayOutputStream.java index 43d6cf20a..16bfda8fc 100644 --- a/hutool-core/src/main/java/cn/hutool/core/io/FastByteArrayOutputStream.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/FastByteArrayOutputStream.java @@ -68,6 +68,10 @@ public class FastByteArrayOutputStream extends OutputStream { */ public void writeTo(OutputStream out) throws IORuntimeException { final int index = buffer.index(); + if(index < 0){ + // 无数据写出 + return; + } byte[] buf; try { for (int i = 0; i < index; i++) { @@ -113,4 +117,4 @@ public class FastByteArrayOutputStream extends OutputStream { ObjectUtil.defaultIfNull(charset, CharsetUtil.defaultCharset())); } -} \ No newline at end of file +}