And*_*nia 4 java lambda java-8
我有一个方法,以这种方式将属性转换为hashmap(我知道这是错的)
Map<String, String> mapProp = new HashMap<String, String>();
Properties prop = new Properties();
prop.load(new FileInputStream( path ));
prop.forEach( (key, value) -> {mapProp.put( (String)key, (String)value );} );
return mapProp;
Run Code Online (Sandbox Code Playgroud)
我的想法是以这样的方式进行映射:
Properties prop = new Properties();
prop.load(new FileInputStream( path ));
Map<String, String> mapProp = prop.entrySet().stream().collect( /*I don't know*/ );
return mapProp;
Run Code Online (Sandbox Code Playgroud)
怎么写一个lambda表达式呢?
在此先感谢所有人
安德烈.
Luk*_*tor 14
Properties prop = new Properties();
prop.load(new FileInputStream( path ));
Map<String, String> mapProp = prop.entrySet().stream().collect(
Collectors.toMap(
e -> (String) e.getKey(),
e -> (String) e.getValue()
));
Run Code Online (Sandbox Code Playgroud)
实际上并不是一个答案,但对于路过的其他人来说可能是有用的.
因为实现你的Properties扩展不需要做任何事情,除了:Hashtable<Object,Object>Map<K,V>
Properties p = new Properties();
Map<String,String> m = new HashMap(p);
Run Code Online (Sandbox Code Playgroud)
不明白为什么没有警告供此代码,因为它意味着从铸造Map<Object,Object>到Map<String,String>是可以接受的,但我怀疑这是一个单独的问题.
| 归档时间: |
|
| 查看次数: |
10438 次 |
| 最近记录: |