gpt4 book ai didi

java - 如何反射(reflect)过滤列表中的更改

转载 作者:行者123 更新时间:2023-12-01 10:00:51 25 4
gpt4 key购买 nike

我有一个字符串列表,我想将该列表的过滤版本存储在另一个列表中,这样当原始列表更新时,过滤列表也会更新。

例如:

List<String> strings = new ArrayList<>();
List<String> filteredStrings = strings.stream().filter(string -> string.startsWith("#")).collect(Collectors.toList());
每当将元素添加到 strings 时,

filteredStrings 都不会更新。有没有一种方法可以在将元素添加到 strings 时更新 filteredStrings ?或者我可以采用任何类似的替代方案来实现我想要的结果吗?

最佳答案

filteredStrings是一个全新的对象,因此不会对两者进行更改。

如果您想反射(reflect)更改,那么您很可能必须编写自己的类。

从扩展ArrayList<String>开始,并覆盖add方法仅接受以 # 开头的字符串

<小时/>

如果您不想要列表中的那些字符串,另一个选项是不覆盖 add方法,但添加 ArrayList<String> startsWithFilter(String filter)方法将始终返回包含自定义列表的反射(reflect)更改的列表。

关于java - 如何反射(reflect)过滤列表中的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36824949/

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