immutability 相关问题

不可变性是指在创建数据后无法修改数据。而是通过复制数据进行修改。不可变数据的属性是*引用透明*。

使用Hibernate时@Immutable和@Entity(mutable=false)有什么区别

两者有什么区别(如果有的话)? 应该在实体上使用其中之一还是两者?

回答 2 投票 0

自动生成不可变类和匹配Java接口的构建器类

Java 存在哪些工具或库可以仅采用带有访问器方法定义的接口并自动生成不可变的对象类以及增量的“构建器”类...

回答 6 投票 0

是否可以创建一个设置元属性的属性特征?

我尝试创建一个属性特征。用例是在对象到文档映射的上下文中将类的某些属性标记为“可修改”,而其他属性则不是。 角色粗略{ 有布尔$。

回答 1 投票 0

为什么 Redux 中的对象应该是不可变的?

为什么 Redux 中的对象应该是不可变的? 我知道某些框架(例如 Angular2)将使用 onPush,并且可以利用不变性来比较视图状态以加快渲染速度,但我是

回答 6 投票 0

Flutter:无状态小部件中的可变字段

StatelessWidget 类被标记为不可变的。但是,我使用的是作用域模型,这意味着我避免使用 StatefulWidget 并使用该模型来更改 StatelessWidget 中的状态。这导致了我

回答 2 投票 0

在 Rust 中转换非原始类型

我对 Rust 很陌生,如果这是一个简单的问题,我很抱歉! 我有以下简化场景,其中有一个特征和两个实现该特征的结构类型(TypeA 和 TypeB)。我...

回答 1 投票 0

kotlinx.collections.immutable 持久与不可变集合

有人可以举例说明持久集合与 kotlinx.collections.immutable 中的不可变集合有何不同吗? 我找到了这个解释,但我不完全理解......

回答 1 投票 0

不变性和 XML 序列化

我有几个类,一旦设置了初始值,它们就是不可变的。 Eric Lippert 将这种现象称为一次写入不变性。 在 C# 中实现一次写入不变性通常意味着设置 i...

回答 6 投票 0

禁用允许将只读类型分配给非只读类型

我一直在研究打字稿中的只读类型。可悲的是,它并没有像我希望的那样工作。例如,请参阅下面的代码: 界面用户{ 名字:字符串; 姓氏:字符串; } ...

回答 3 投票 0

当 Spark 中的数据帧转换为新的数据帧时,会发生什么?

我是 Apache Spark 的初学者。我在学习 Spark 时遇到了困难。据我所知,Spark基于惰性求值工作,并且Spark中的数据帧是不可变的。 我有一个数据框 df 为 3

回答 1 投票 0

我可以在 Python 3 中创建不可变的类属性吗?

我正在编写一个带有自定义 __eq__ 和 __hash__ 方法的类,并且 __hash__ 基本上返回类的属性之一(这是一个整数)。因此,我需要使这个属性像

回答 1 投票 0

“证明”字符串在c#中是不可变的

我已经知道在 C# 中,字符串是引用类型,主要像值类型一样处理,但我最近发现了这一点: http://net-informations.com/faq/general/immutable.htm 我正在尝试“p...

回答 4 投票 0

我可以声明一个接受名称-值参数来定义不可变属性的构造函数吗?

自 MATLAB R2019b 以来,可以从类属性中声明名称-值参数,这创建了一种优雅的方式来定义可以通过声明其

回答 2 投票 0

在什么情况下相等的字符串共享相同的引用?

我已经搜索了网络和堆栈溢出问题,但无法找到这个问题的答案。我的观察是,在 Python 2.7.3 中,如果你为两个变量分配相同的值

回答 3 投票 0

Python 冻结嵌套数据类,带有 __call__ = 替换

我正在尝试编写具有以下特征的不可变数据结构。 不可变的 轻松生成具有更改字段的不可变副本 可组合,因此更新嵌套数据就像...

回答 1 投票 0

如何复制结构体并同时修改其属性之一?

如果我想将视图控制器的状态表示为单个结构,然后实现撤消机制,我将如何更改结构上的一个属性,同时获取该结构的副本...

回答 7 投票 0

将不可变映射转换为可变映射java

我有一个不可变的映射,是从另一部分的方法中获得的。当处理时我想从中删除一个密钥然后进一步使用它,该密钥始终在地图上。 不可变映射 我有一个不可变的映射,是从另一部分的方法中获得的。当处理时我想从中删除一个密钥然后进一步使用它,该密钥始终在地图上。 ImmutableMap<String, Object> immutableMap = doSomethingAndGetImmutableMap(); // convert to mutable Map<String, Object> newMutableMap = ?? newMutableMap.remove("pin"); 是否有任何内置方法可以将不可变映射转换为可变映射java?我看到有几种方法可以做相反的事情,但不是从不可变映射到可变映射。 我使用了Maps.newHashMap,但它是最好、最有效的方法吗? 您可以使用复制构造函数从现有的 HashMap 创建一个新的 Map。 HashMap<String, Object> = new HashMap<>(immutableMap); 请注意,这是一个全新的对象。没有办法使不可变的映射变得可变。那将打破抽象。我想从概念上讲,您可以为不可变映射设计可变包装器,该映射将 changes 存储在第二个(私有)映射结构中。但 Guava 似乎并不支持这一点。 这个还是Maps.newHashMap性能更高? Guava Maps.newHashMap(map) 只是返回 new HashMap<>(map)。该调用将由 JIT 编译内联,因此一旦代码经过 JIT 编译,现代 JVM 上的性能差异应该为零。 您几乎肯定是在浪费时间对此类内容进行微优化: 您应该首先设计和编写应用程序代码并使其运行。 然后你对其进行基准测试。 然后您根据基准测试结果决定应用程序是否需要优化。 然后对其进行分析以确定性能热点在哪里。 然后优化性能热点。 除非有什么非常奇怪的事情,否则按照上述步骤就不会浪费时间问这个问题。套用1 唐纳德·高德纳 (Donald Knuth): “过早优化是万恶之源”. 1 ...并且过度简化/断章取义...

回答 1 投票 0

.NET 中可以使用不可变数组吗?

是否可以以某种方式将 System.Array 标记为不可变。当放在 public-get/private-set 后面时,它们无法添加到其中,因为它需要重新分配和重新分配,但消费者可以...

回答 10 投票 0

为什么java中字符串的不变性会导致这个问题额外的运行时间:https://leetcode.com/problems/search-suggestions-system/solution/

对于这个问题:https://leetcode.com/problems/search-suggestions-system/solution/,解决方案1指出,对于Java,_“由于字符串,存在O(m^2)的额外复杂性是不可变的...

回答 1 投票 0

Kotlin 从不可变映射和附加键值创建新映射的标准方法

Kotlin 中是否有标准方法将新的键值对与不可变映射关联起来? // => {A=1, B=2, C=3} 关联(mapOf(“A”到1,“B”到2),“C”,3); 薄...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.