是否有可能cast
一int array
到char array
?如果是这样how
?
我目前正在一个需要create an char array
包含的项目alphabet
。我现在code
外币int array
(这应该是converted
一个char array
- 在同一行!):
return IntStream.range('a', 'z' + 1).toArray();
是的,我们缺少生成char数组的流方法。也许是整个CharStream类。无论如何,不可以,您不能在int[]
和之间进行强制转换char[]
。
同时,它的行很长,但是有效:
return IntStream.rangeClosed('a', 'z')
.mapToObj(c -> Character.toString((char) c))
.collect(Collectors.joining())
.toCharArray();
这给出了一个char[]
包含
[a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z]
奇迹般有效!+1,因为您不是“这不会起作用”-人:P
IntStream.range('a', 'z' + 1)
可以替换为IntStream.rangeClosed('a', 'z')
@ Pshemo,thx,它可能是对问题的注释(从我那里获取
IntStream.range('a', 'z' + 1)
),但是无论如何,它显然更具可读性。该解决方案的缺点是为每个数组元素创建一个String对象-这可能是较大数组的性能/内存考虑因素。