- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
假设我们有一个 List<List<String>>
并想让它完全不可修改。只需将其传递给 Collection.unmodifiableList
这还不够,因为内部列表仍然可以修改。
我会采用以下方法:
List<List<String>> someList;
使其不可修改:
List<List<String>> tempList = new ArrayList<>();
for(List<String> strList : someList) {
tempList.add(Collections.unmodifiableList(strList));
}
List<List<String>> safeList = Collections.unmodifiableList(tempList);
这个方法可以吗?
最佳答案
只要您不保留对原始的、可修改的列表的引用,这种方法就应该有效。此类引用可以修改由不可修改列表包裹的列表。
关于java - Unmodifiable 可修改对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25248619/
我有一些计件工作是由不同的自定义(源代码不可用)框架完成的,这些框架返回 Map 实例。不幸的是,这些框架在返回用 Collections.unmodifiableMap 包装的 Map 实例时并不一
假设我们有一个 List>并想让它完全不可修改。只需将其传递给 Collection.unmodifiableList这还不够,因为内部列表仍然可以修改。 我会采用以下方法: List> someLi
在考虑效率、代码可读性和其他标准时,公开集合的只读 View 的更好方法是什么?从效率的角度来看,使用 methodA 而不是 methodB 真的有什么区别吗?请考虑可能经常访问 list 的情况
我正在使用一个 IDE,它在一些已生成但强烈需要的库文件中生成一个版本。因此,如果我想将库与多个版本一起使用,或者我看到大量实际上毫无意义的更改,就会出现问题。 总结:我想忽略一个或多个文件的单行,我
我从https://git-scm.com/book/en/v2/Getting-Started-What-is-Git%3F读到有关gitt中的三种状态 它在这里说Git具有文件可以驻留在其中的三个
我在使用来自 json 的 Jackson 序列化时遇到问题,如何从 Collections.unmodifiableMap 序列化? 我得到的错误是: com.fasterxml.jackson.d
这是导致问题的Streambuilder的builder方法内的代码: List users = snapshot.data; users.sort((user1, user2) => (user1.
private final Map q; public Info() { this(Collections.EMPTY_MAP); } public Info(final Map q) {
我找不到关于 Readline 选项 show-all-if-ambiguous 和 show-all-if-unmodified 之间区别的明确解释,以及是否它们影响不同的事物或相互排斥。关于这个主
我有一个不可修改的 map ( Map )。这包含一个键值对,其中值应该是一个列表,但对于特定键,值是一个空列表。 如何从 map 中删除该空列表并返回? 我已经使用谓词完成了它,它检查值是否是集合的
HTTP Spec (RFC-2616)在第 14.28 节中指出,If-Unmodified-Since header 必须由 HTTP 服务器识别,并且它只有一秒的精度。 如果资源更改频率超过每秒
您知道 If-Unmodified-Since 在野外的任何实际用途吗?来自description , 看起来这个 header 是为了帮助避免脏写。即仅当自客户端可用的最后修改时间以来未修改此资源时
我正在尝试创建一个不可变项目的不可变列表。我已经看到并尝试了 built_collection 中的 BuiltList,现在我看到了 List.unmodifiable。 它们是否等同,即使用它们我
是否有可能以文本形式获取当前 HTML 文档的源代码,与加载时完全一样? (即不是解析和 DOM 操作后的“生成的源代码”。) 注意:发出额外的 AJAX 请求以再次检索 HTML 页面在这种情况下不
我在 StatelessWidget 中有一个 ListView。它有项目,每个项目都包含一个复选框。当有人检查一个项目时,我希望 ListView 将其作为参数发送到另一个页面。但是当我这样做时,它
在 TFS 中,我正在执行以下操作。 UnShelve Pending Changes-->右键单击ShelveSet中的文件-->选择Compare-->共有三种选择: 未修改版本 带工作区版本 最
我经常运行一种验证模式,在这种模式中,某些变量必须包含前缀数量的值之一才能有效。 PSEUDO CODE: IF x == CONSTANT_1 || X == CONSTANT_2 || .
我最近将我的 Android Studio 更新到 1.0.1 并且不喜欢它表示项目结构的新方式: 如何恢复到项目 View 中显示未修改的文件系统目录布局的前一种安排? 最佳答案 查看您的第一个屏幕
在 Dart 中,如果要创建不可修改的列表,可以使用 List.unmodifiable() 或 UnmodifiableListView List list = [1, 2, 3]; List un
在 Dart 中,执行 List.unmodifiable(someList)和 Map.unmodifiable(someMap)创建一个不可修改的 查看 ,还是一个全新的独立列表/ map ?我猜
我是一名优秀的程序员,十分优秀!