gpt4 book ai didi

java - Java 中的持久数据结构

转载 作者:太空狗 更新时间:2023-10-29 22:50:20 24 4
gpt4 key购买 nike

有没有人知道在 Java 中创建和使用持久数据结构的库或至少一些研究?我不是将持久性称为长期存储,而是将持久性称为不变性(参见 Wikipedia entry)。

我目前正在探索为持久结构建模 API 的不同方法。使用构建器似乎是一个有趣的解决方案:

// create persistent instance
Person p = Builder.create(Person.class)
.withName("Joe")
.withAddress(Builder.create(Address.class)
.withCity("paris")
.build())
.build();

// change persistent instance, i.e. create a new one
Person p2 = Builder.update(p).withName("Jack");

Person p3 = Builder.update(p)
.withAddress(Builder.update(p.address())
.withCity("Berlin")
.build)
.build();

但这仍然让人觉得有些陈词滥调。有什么想法吗?

最佳答案

构建器会使您的代码过于冗长而无法使用。实际上,我见过的几乎所有不可变数据结构都是通过构造函数传递状态的。就其值(value)而言,这里有一系列很好的文章,描述了 C# 中的不可变数据结构(应该很容易转换为 Java):

C#和Java极其冗长,因此这些文章中的代码相当吓人。我建议学习 OCaml、F# 或 Scala,并熟悉这些语言的不变性。掌握这项技术后,您将能够更轻松地将相同的编码风格应用于 Java。

关于java - Java 中的持久数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/734110/

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