我一直在调查优秀函数库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中,这些被重构到了哪里?
他们被完全移走了吗?
发布于 2019-02-15 11:57:42
是的,它已经从1.x.x中删除了。
请看一下这个帖子,特别是这个部分:
我们不能自己改变Java语言。所有尝试这样做的特性,例如模式匹配和理解功能,都将被移动到一个单独的模块vavr-api中。因为不同的Java 9模块不能导出相同的包,所以需要更改包名。 请注意,Java将提供本机模式匹配。因此,不鼓励使用vavr-api,但它仍将被维护。 上面提到的所有主要模块(不包括vavr-api和辅助模块vavr-match)都可以作为一个大包使用,称为vavr- All - one。
我不是最新的现状,目前的工作,但它将不再在核心模块。
发布于 2019-02-15 18:59:20
io.vavr.API仍然是Vavr1.0的一部分,但是内容很可能会被更改。
alpha-*版本是增量。我将一步一步地提供新的功能,以使它们可用于测试目的。
我发现这有点让人困惑,因为我的用户期望alpha版本的内容更完整。目前我正在处理这个问题。
(免责声明:我是Vavr的作者)
https://stackoverflow.com/questions/54705897
复制相似问题