当我可以使用它时,我非常喜欢使用Guava's Preconditions
。然而,番石榴罐是2 MB,这可能相当大......
我有一个jar重达26k的项目,因此问题是,是否有一个轻量级库具有这样的实用程序类,除了JDK(6+)之外没有依赖项?虽然我可以创造一个,但我宁愿不重新发明轮子!
答案 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")
给你这个:
(如果您的终端不支持颜色,则会获得文字差异)
答案 3 :(得分:0)
您可能想查看Fernando Cejas Arrow Library。它有Preconditions,Guava Strings,Collections等。