gpt4 book ai didi

java - Apache BeanUtils 能否用于从列表中删除项目而不是将它们设置为空?

转载 作者:行者123 更新时间:2023-11-29 09:10:29 25 4
gpt4 key购买 nike

我正在考虑使用 Apache BeanUtils 来管理我项目中的一些数据结构。该任务是针对仅在运行时已知的任意路径从列表中删除项。

我想我可以使用 BeanUtils 通过这样的调用将项目设置为 null:

PropertyUtils.setProperty(myObject, "subitem.aList[3]", null);

然而,在我项目的其他区域,有循环遍历这些列表。当前未处理列表中的空项。有许多(几十个,可能数百个)代码期望这些项目不为 null 的地方,因此不幸的是,向可能迭代这些列表的所有代码添加 null 检查是不切实际的。

是否可以使用 BeanUtils从集合中删除项目而不是将其设置为空?

我想我可以通过解析传递给 setProperty 的路径自己实现它并确定它是否是 List通过寻找以 [<number>] 结尾的路径然后解析出数字,得到 List使用列表的路径并调用 remove(number) .在推出自己的解决方案之前,我想使用现有的解决方案。

最佳答案

我想您可以通过以下两个步骤实现您的结果:

    List aList = (List)PropertyUtils.getProperty(myObject, "subitem.aList");
aList.remove(3); // remove the fourth element

//set the modified list back
PropertyUtils.setProperty(myObject, "subitem.aList", aList);

关于java - Apache BeanUtils 能否用于从列表中删除项目而不是将它们设置为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12748771/

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