gpt4 book ai didi

java - 克隆java ArrayList并防止其被修改

转载 作者:行者123 更新时间:2023-12-02 09:43:14 26 4
gpt4 key购买 nike

我有一个像数据库行集这样的数据结构,它有行,行有列。我需要用空值初始化列,当前代码是循环遍历一行的每一列并将值初始化为 NULL。如果您有 100 行或 10 列,那么效率非常低。

因此,我保留了 RowSet 级别的列的初始化 ArrayList,然后为各个行执行此 Arraylist 的克隆,因为我相信克隆()比循环遍历每个元素更快。

row.columnsValues = rowsset.NullArrayList.clone()

问题是 NullArrayList 在克隆后可能会被意外修改,从而牺牲了 ArrayList 在 RowSet 级别的完整性,以防止我做 3 件事

1) 将 ArrayList 声明为最终的2)我插入的任何元素都是final或null3) 通过此arrayList 传递给其他数组的方法被声明为final。

听起来像是一个计划,你发现有什么漏洞吗?

最佳答案

您可以使用Collections.unmodifiableList((List) originalList.clone())

Returns an unmodifiable view of the specified list. This method allows modules to provide users with "read-only" access to internal lists.

关于java - 克隆java ArrayList并防止其被修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2584945/

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