我想让查找的键成为最终地图的键。我有一个像这样执行查找的对象</ p>
dat1=org.sys.basic.DataBaseObject1
dat2=org.sys.complex.DataComplexObject
这些值保存在Map obj = getLookup();
中我使用此贴图构建从上面的地图值加载的对象的最终地图。但是,我希望最终的映射将dat1和dat2键作为键,并将加载的对象作为值,如此;
dat1=..DataBaseObject1 and
dat2=....DataComplexObject
这是我的尝试。问题是我的最终映射没有键dat1和dat2,但包含要加载的类的字符串名称,即org.sys.basic.DataBaseObject1。窥视显示dat1和dat2为键,但它们最终不会作为最终映射中的键。
Map<String, String> obj = getLookup();
Map<String, String> m = propertyNames.stream()
.collect(toMap(Function.identity(), obj::getProperty));
Map<String, DataMap> handlers = handlerMap.entrySet()
.stream()
.peek(m -> System.out.println("Key is " + m.getKey() + " and value is " + m.getValue()))
.collect(toMap(e -> e.getKey(), e -> createDataMap(e.getValue())
.orElse(new NullDataMapper())));
答案 0 :(得分:0)
我解决了这个问题。正在制作正确的钥匙。但是,Spring Framework Autowired Components通过使用Autowired组件名称覆盖了Map中的键