private static Signature[] createSignatures(String... encodedSignatures) {
return Arrays.stream(encodedSignatures)
.map(encodedSignature -> new Signature(Base64.decode(encodedSignature, Base64.DEFAULT)))
.toArray(Signature[]::new);
}
,但上述不起作用,尤其是最后的行,也就是说,是问题。我该如何解决?在Kotlin中将流转换为数组的正确方法是什么?
您可以使用以下代码来实现目标:
.toArray(Signature[]::new)
trone this:
private fun createSignatures(vararg encodedSignatures: String): Array<Signature> {
return encodedSignatures
.map { Signature(Base64.decode(it, Base64.DEFAULT)) }
.toTypedArray()
}
我有这个问题现代化了大约7岁的Java代码。我的数组元素是
private fun createSignatures(vararg encodedSignatures: String): Array<Signature?>? {
return Arrays.stream(encodedSignatures)
.map { encodedSignature -> Signature(Base64.decode(encodedSignature, Base64.DEFAULT)) }
.toArray { _Dummy_.__Array__() }
}
String
没有归类为
映射类型,所以我觉得这里的现有答案是我要获得的最接近的答案。 Maybe在Kotlin 2.0中发生了变化,但没有发现红色下划线治疗:
String
在经过多年的忽视之后,我宁愿拥有简短,可读性,广泛理解的线条。那是我的问题
使用Kotlin可以接受的唯一可以接受的解决方案是:
.toTypedArray()
到了,这给了我警告,以警告
String[] recents = mStrings.stream().map(o -> ABOMINABLE_FORMATTER.matcher(o).replaceAll(" $1")).toArray(String[]::new);
中不受组织的演员。我只是看不到更好的方法。现在,我的代码被翻译和工作,因此我采取这些警告有多严重还有待观察。一半的7岁Java项目的演示层被弃用了,所以我很容忍,但仍然通过引入新警告而感到沮丧。