使用此代碼映射鍵的字符串:更換匹配使用lambda
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.List;
import java.util.stream.Collectors;
public class Replace
{
public static void main(String args[]){
Map<String , String> map = new HashMap<String , String>();
map.put("eleven", "11");
String str = "replace the 11";
List<String> ls = Arrays.asList(str.split(" "));
ls.stream().map(m -> map.entrySet().forEach(e -> m.replaceAll(m , e.getKey())));
}
}
我試圖在「十一」字符串str取代「11」的出現。所以str應該轉換爲「替換十一個」。
但我收到編譯器錯誤:
Multiple markers at this line
- Type mismatch: cannot convert from Stream<Object> to
<unknown>
- Cannot return a void result
如何更換地圖匹配字符串值項的出現?
這看起來像這回答你的問題http://stackoverflow.com/q/36172502/1743880 – Tunaki
@Tunaki這是可能的,因爲我剛剛發佈更新? –