vavr - 如何将 vavr 集合转换为 Java 数组?
问题描述
我知道https://www.javadoc.io/doc/io.vavr/vavr/latest/io/vavr/Value.html#toJavaArray但它已被弃用。有没有可以使用的非弃用方法?
解决方案
在这三个toJavaArray
变体中,只有该toJavaArray(Class)
变体被直接弃用,另外两个被标记为弃用,因为Value
该类本身已弃用。生成的 javadoc 对区分两者的帮助不是很大,遗憾的是,您可以直接查看源代码。这张图片可能是当前状态的更精确表示:
Value
已弃用,取而代之的是io.vavr.Iterable
. 这个新接口是java.lang.Iterable
类型的扩展,主要区别在于它返回一个io.vavr.collection.Iterator
而不是一个简单的java.util.Iterator
。io.vavr.collection.Iterator
extends Value
,我希望在移除Value
接口后,接口中未明确弃用的所有方法都Value
将移至io.vavr.collection.Iterator
.
在两个未明确弃用的toJavaArray
方法中,我将使用T[] toJavaArray(IntFunction<T[]> arrayFactory)
变体——这是我对 vavr 项目的贡献之一——因为它返回正确类型的类型化数组而不是Object[]
.
总而言之vavrValue.toJavaArray()
,我不会使用 ,而是使用vavrValue.iterator().toJavaArray(SomeType[]::new)
.
推荐阅读
- java - Can vertexes and edges in jGraphT be added parallely
- wcf - 将 WCF 服务限制为当前 Windows 用户
- neo4j - 如何使用 neo4j-graphql 库在 graphql 类型定义中创建关系属性
- r - 在更宽的枢轴上的单独行上显示重复值
- android - 使用库 com.applandeo:material-calendar-view:1.9.0-rc03'
- java - 从 CardArray 中删除重复项
- python - Django 找不到 settings.py 文件
- javascript - ChartJS 多注解(竖线)
- laravel - 从 Vue 组件取回数据
- gitlab - 完成后gitlab中的作业状态