java - 如果我具体类型未知,请复制集合
问题描述
我在运行时有一个 Collection 对象,我需要代理集合中的每个元素并返回相同的集合而不修改现有集合。所以我需要创建具有相同类型的实例并用代理对象填充它。有人可以建议在不编写很多实例的情况下如何做到这一点吗?
UPD
if (originalResult instanceof Collection) {
Collection collection = ((Collection) originalResult);
Collection newCollection = (Collection) collection.stream()
.map(this::proxyObject)
.collect(Collectors.toList());
collection.clear();
collection.addAll(newCollection);
return collection;
} else if
这是我实现 net.sf.cglib.proxy.MethodInterceptor#intercept的代码的一部分 ,在调用“get”方法后返回代理。这是我的第一个变体,但我意识到这种方式不适合我,因为会改变现有对象。
解决方案
推荐阅读
- apex - 在闪电组件中加载第 3 方 Jquery 库时面临的问题
- javascript - 谷歌地图标记聚类为 React
- azure-devops - 将存储库从 Github 导入 Azure Repos
- docker - 本地和远程之间的 Docker 映像大小差异
- angular - 将组件 A 的方法结果传递给组件 B 的模板
- android - Android Studio 3.5 上的 onNavigationItemSelected
- r - 形状文件中的重复名称,不允许读取文件
- java - 错误:参数索引超出范围(39 > 参数数量,即 38)
- python - 分类分类概率图
- c# - 变量值不保留在设置变量上