2

当我可以使用它时,我是使用Guava 的忠实粉丝Preconditions. 然而,Guava jar 是 2 MB,这可能相当大......

我有一个项目,其 jar 重 26k,因此问题是,是否有一个轻量级库具有这样的实用程序类,除了 JDK(6+)之外没有其他依赖项?虽然我可以创建一个,但我不想重新发明轮子!

4

4 回答 4

4

我会按照评论中的建议使用整个库,但如果你真的想要小尺寸,在 guava 的文档中指定了一种推荐的方法 -使用 ProGuard 收缩 JAR

于 2013-06-06T06:39:10.833 回答
0

您可以将 valid4j 与 hamcrest-matchers 一起使用(在 Maven Central 上以 org.valid4j:valid4j 的形式找到)。

对于输入验证(抛出可恢复的异常):

import static org.valid4j.Validation.*;

validate(argument, isValid(), otherwiseThrowing(InvalidException.class));

或者对于先决条件(真的像断言):

import static org.valid4j.Assertive.*;

require(x, greaterThan(0)); // throws RequireViolation extends AssertionError

链接:

于 2014-12-12T18:37:32.287 回答
0

您可能想查看 Fernando Cejas Arrow Library。它有先决条件、番石榴字符串、集合等。

于 2017-10-11T10:12:16.220 回答
0

看看我编写的需求 API。即将发布的 3.0.0 版本重量为 167k。它维护得很好并且非常易于使用:

需求 API

String actual = "foosball";
String expected = "ballroom";
requireThat(actual, "actual").isEqualTo(expected, "expected")

给你这个:

输出

(如果您的终端不支持颜色,您将获得文本差异)

于 2016-10-11T15:19:06.550 回答