Mit diesem Code entspricht:Ersetzen Sie Zeichenfolge, die Schlüssel in der Karte unter Verwendung von 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())));
}
}
Ich bin versucht zu ersetzen Vorkommen von „11“ in der String str mit „elf“. Also sollte str in "replace the eleven" umgewandelt werden.
Aber Ich erhalte Compilerfehler:
Multiple markers at this line
- Type mismatch: cannot convert from Stream<Object> to
<unknown>
- Cannot return a void result
Wie Vorkommen von Schlüsseln in der Karte ersetzen, die String-Werte überein?
Das sieht so aus das beantwortet Ihre Frage http://stackoverflow.com/q/36172502/1743880 – Tunaki
@Tunaki das ist möglich, wie ich gerade in Update geschrieben habe? –