一个带有Preconditions的轻量级Java库?

时间:2013-06-06 05:45:09

标签: java guava preconditions

当我可以使用它时,我非常喜欢使用Guava's Preconditions。然而,番石榴罐是2 MB,这可能相当大......

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

4 个答案:

答案 0 :(得分:4)

我会按照评论中的建议使用整个库,但是如果确实想要小尺寸,那么在guava的文档中指定了一种推荐方式 - Shrinking JARs with ProGuard

答案 1 :(得分: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

链接:

答案 2 :(得分:0)

查看我撰写的Requirements API。即将发布的3.0.0版本重达167k。它维护得很好,而且非常易于使用:

需求API

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

给你这个:

output

(如果您的终端不支持颜色,则会获得文字差异)

答案 3 :(得分:0)

您可能想查看Fernando Cejas Arrow Library。它有Preconditions,Guava Strings,Collections等。