gpt4 book ai didi

Java 和函数式编程范例 - 如何使我的数组不可变

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:05:20 24 4
gpt4 key购买 nike

我正在尝试编写遵循函数式编程范式的代码,该范式非常虔诚地遵循不可变性,但我知道如何使我的数组更接近不可变的唯一方法是使用

List<Integer> items = Collections.unmodifiableList(Arrays.asList(0,1,2,3));

我不确定这是否会使数组不可变或只是不可修改。如果上面的命令不能使数组不可变,那会怎样呢?

最佳答案

  1. 除非通过反射,否则您不能改变底层数组(或 Arrays.asList 返回的列表)。但是,数组在这里并不真正相关;不要混淆数组和列表!

  2. 从 Java 9 开始,List.of(0, 1, 2, 3) 实现了同样的效果。

  3. 要进行产生新集合的操作,您必须通过 streams .您可能还想考虑第三方库,例如Guava (this link is to their immutable collections page) .或者更好 PCollections ,它仅提供不可变集合以及比 Guava 更实用的实现。

关于Java 和函数式编程范例 - 如何使我的数组不可变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58086240/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com