Java的Collections.unmodifiableList和Collections.unmodifiableMap在Ruby标准API中是否有等价物? 最佳答案 使用freeze应用程序接口(interface):Preventsfurthermodificationstoobj.ARuntimeErrorwillberaisedifmodificationisattempted.Thereisnowaytounfreezeafrozenobject.SeealsoObject#frozen?.Thismethodretur
静态初始化的unmodifiableCollection.get是否保证不可变?对于:静态最终mapFOO=Collections.unmodifiableMap(newHashMap());多线程使用get方法能不出问题吗?即使无法添加/删除FOO中的项目,是什么阻止了get方法出于缓存目的操纵FOO的内部状态等。如果以任何方式修改内部状态,则FOO不能同时使用。如果是这样,java中真正的不可变集合在哪里? 最佳答案 给出具体的例子:staticfinalMapFOO=Collections.unmodifiableMap(ne
在JavaConcurrencyinPractice的第65和66页,BrianGoetz列出了以下代码:@ThreadSafepublicclassDelegatingVehicleTracker{privatefinalConcurrentMaplocations;privatefinalMapunmodifiableMap;publicDelegatingVehicleTracker(Mappoints){locations=newConcurrentHashMap(points);unmodifiableMap=Collections.unmodifiableMap(locat
我有一个常量映射,如下所示:privatestaticMap_typesMap=newHashMap(){{put("string",'S');put("normalizedString",'N');put("token",'T');//(...)}我真的需要使用Collections.unmodifiableMap()来创建这个map吗?使用它有什么好处?不使用它有什么缺点,除了它们并没有真正变得恒定之外? 最佳答案 Collections.unmodifiableMap保证map不会被修改。如果您想从方法调用返回内部映射的只读V
我有一个常量映射,如下所示:privatestaticMap_typesMap=newHashMap(){{put("string",'S');put("normalizedString",'N');put("token",'T');//(...)}我真的需要使用Collections.unmodifiableMap()来创建这个map吗?使用它有什么好处?不使用它有什么缺点,除了它们并没有真正变得恒定之外? 最佳答案 Collections.unmodifiableMap保证map不会被修改。如果您想从方法调用返回内部映射的只读V
所以我是Hadoop和MapReduce的新手,正在尝试创建一个简单的WordCount程序。但是,在运行它时,我遇到了一个错误:Exceptioninthread"main"java.lang.NoClassDefFoundError:org/apache/commons/collections/map/UnmodifiableMapatorg.apache.hadoop.conf.Configuration$DeprecationContext.(Configuration.java:409)atorg.apache.hadoop.conf.Configuration.(Confi
这个问题在这里已经有了答案:ImmutablevsUnmodifiablecollection[duplicate](11个回答)关闭8年前。上下文我需要返回对我用于数据缓存的map的引用,并且我想确保没有人可以修改他们的引用。问题我在网上看到很多对UnmodifiableMap和ImmutableMap的引用,但我没有看到任何比较/对比它们的东西。我认为Google/Guava创建自己的版本是有充分理由的-有人可以告诉我它是什么吗? 最佳答案 不可修改的map仍可能发生变化。它只是可修改map上的一个View,通过不可修改map可