您好我想快速将 Characters 的数组复制到 chars 的数组我可以编写一个将 Character 数组复制到的方法char 数组,通过将数组中的每个 Charater 转换为 char ,但是有任何就绪方法更快,就像 Arrays.copyOf 一样对于两个相同类型的数组?
答案 0 :(得分:1)
Apache Commons Lang中有一个方法可以满足您的需求: http://commons.apache.org/proper/commons-lang/javadocs/api-release/org/apache/commons/lang3/ArrayUtils.html#toPrimitive-java.lang.Character:A-
public static char[] ArrayUtils.toPrimitive(Character[] array)
答案 1 :(得分:0)
技术上不可能,但你可能会使用惰性的取消装箱字符来表示char。例如使用Stream。 (目前这可能是额外的开销。)
如果Character数组来自Collection,List,那么您可以在源处采取措施。虽然一切都不会很快。但是,一系列角色并不复杂,就像用自己的纸张包裹每一枚硬币一样。
答案 2 :(得分:0)
char[] myCharArray = Arrays.stream(myCharacterArray)
.map(ch -> ch.toString())
.collect(Collectors.joining())
.toCharArray();
写作速度很快。它是否会快速执行?除非你有一个非常大的阵列或经常进行这种转换,否则你不需要关心。