diff --git a/CHANGELOG.md b/CHANGELOG.md index d9e8aaf9a..b6a1c1642 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ * 【core 】 优化ArrayUtil.isAllEmpty性能(pr#2045@Github) * 【core 】 CharSequenceUtil.replace方法支持增补字符(pr#2041@Github) * 【extra 】 增加SshjSftp(pr#493@Gitee) +* 【core 】 增加CheckedUtil(pr#491@Gitee) ### 🐞Bug修复 * 【http 】 HttpUtil重定向次数失效问题(issue#I4O28Q@Gitee) diff --git a/hutool-core/src/main/java/cn/hutool/core/exceptions/CheckedUtil.java b/hutool-core/src/main/java/cn/hutool/core/exceptions/CheckedUtil.java index 58ba7444c..f64fdd478 100644 --- a/hutool-core/src/main/java/cn/hutool/core/exceptions/CheckedUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/exceptions/CheckedUtil.java @@ -38,6 +38,7 @@ import java.util.Objects; * * * @author conder + * @since 5.7.19 */ public class CheckedUtil { @@ -270,6 +271,7 @@ public class CheckedUtil { } public interface FuncRt extends Func { + @SuppressWarnings("unchecked") R call(P... parameters) throws RuntimeException; } @@ -282,6 +284,7 @@ public class CheckedUtil { } public interface VoidFuncRt

extends VoidFunc

{ + @SuppressWarnings("unchecked") void call(P... parameters) throws RuntimeException; } diff --git a/hutool-core/src/test/java/cn/hutool/core/exceptions/CheckedUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/exceptions/CheckedUtilTest.java index 10b007b23..fbfe82cb2 100644 --- a/hutool-core/src/test/java/cn/hutool/core/exceptions/CheckedUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/exceptions/CheckedUtilTest.java @@ -29,18 +29,20 @@ public class CheckedUtilTest { } + @SuppressWarnings("ConstantConditions") @Test public void supplierTest() { File noFile = new File("./no-file"); try { //本行代码原本需要抛出受检查异常,现在只抛出运行时异常 - FileInputStream stream = CheckedUtil.uncheck(() -> new FileInputStream(noFile)).call(); + CheckedUtil.uncheck(() -> new FileInputStream(noFile)).call(); } catch (Exception re) { Assert.assertTrue(re instanceof RuntimeException); } } + @SuppressWarnings("ConstantConditions") @Test public void functionTest() { Func1 afunc = (funcParam) -> { @@ -55,7 +57,7 @@ public class CheckedUtilTest { try { //本行代码原本需要抛出受检查异常,现在只抛出运行时异常 - String reslut = CheckedUtil.uncheck(afunc).call("hello world"); + CheckedUtil.uncheck(afunc).call("hello world"); } catch (Exception re) { Assert.assertTrue(re instanceof RuntimeException); }