一个具有前提条件的轻量级java库?

wr98u20j  于 2021-06-30  发布在  Java
关注(0)|答案(4)|浏览(356)

**结束。**此问题不符合堆栈溢出准则。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

两年前关门了。
改进这个问题
当我能用的时候,我是一个用Guava的超级粉丝 Preconditions . 然而,Guavajar是2MB,这可能是相当大的。。。
我有一个jar重达26k的项目,因此问题是,是否有一个轻量级库有这样一个实用程序类,除了jdk(6+)之外没有其他依赖项?虽然我可以创造一个,但我宁愿不要重新发明轮子!

hof1towb

hof1towb1#

看看我编写的需求api。即将发布的3.0.0版本重达167k。保养得很好,使用起来也很方便:
需求api

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

给你这个:

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

hkmswyz6

hkmswyz62#

我会像评论中建议的那样使用整个库,但是如果你真的想要小尺寸的话,有一个建议的方法在guava的docs中指定——用proguard缩小jar

4uqofj5v

4uqofj5v3#

您可以将valid4j与hamcrest matchers一起使用(在maven central上找到org.valid4j:valid4j)。
对于输入验证(引发可恢复异常):

import static org.valid4j.Validation.*;

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

或者对于前提条件(比如Assert):

import static org.valid4j.Assertive.*;

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

链接:
http://www.valid4j.org/
https://github.com/helsing/valid4j

t9aqgxwy

t9aqgxwy4#

你可能想查一下费尔南多·塞哈斯·阿罗图书馆。它有前提条件、Guava串、集合等。

相关问题