我一直在研究优秀功能库vavr
// https://mvnrepository.com/artifact/io.vavr/vavr
compile group: 'io.vavr', name: 'vavr', version: '0.9.2'
// https://mvnrepository.com/artifact/io.vavr/vavr-match
compile group: 'io.vavr', name: 'vavr-match', version: '0.9.2'
使用这种示例:-
int input = 2;
String output = Match(input).of(Case($(1), "one"), Case($(2), "two"), Case($(3), "three"), Case($(), "?"));
assertEquals("two", output);
使用这些静态导入
import static io.vavr.API.$;
import static io.vavr.API.Case;
import static io.vavr.API.Match;
但是当我升级到
// https://mvnrepository.com/artifact/io.vavr/vavr
compile group: 'io.vavr', name: 'vavr', version: '1.0.0-alpha-2'
我无法再解决io.vavr.API
的导入。
在vavr
的最新版本中,这些内容在哪里重构?
是否已将它们完全删除?
答案 0 :(得分:2)
io.vavr.API仍将是Vavr 1.0的一部分,但是内容很可能会更改。
alpha- *版本为增量。我将逐步提供新功能,以使其可用于测试目的。
我看到这有点令人困惑,因为我的用户希望获得更完整的Alpha版本内容。目前,我正在解决该问题。
(免责声明:我是Vavr的作者)
答案 1 :(得分:1)
TL; DR是,已从1.x.x中删除。
请查看以下post,尤其是这一部分:
我们不能自己更改Java语言。尝试的所有功能 为此,例如模式匹配和理解,将被移动 到单独的模块vavr-api。因为不同的Java 9模块不能 导出同一软件包,需要更改软件包名称。
请注意,Java将提供本机模式匹配。 因此,不鼓励使用vavr-api,但仍会 保持。
上述所有主要模块(不包括vavr-api和协模块 vavr-match)将作为一个大捆绑销售,称为 vavr多合一。
我不是最新的当前工作状态,但是核心模块中将不再可用。