Ich bin neu in Java und versuche, das Konzept der shorthanded if-else
Aussage zu lernen.Warum meine if else-Anweisung (d. H.?:) Nicht funktioniert?
Ich habe den folgenden Code entwickelt. Der Code wird jedoch nicht kompiliert und zeigt neben der if-else
(d. H.?:) -Anweisung einen Fehler an.
Könnte mir bitte jemand sagen, warum funktioniert es nicht?
Sorry, wenn meine Frage für einige von Ihnen sehr albern klingt. Ich bin neu in Java.
Vielen Dank im Voraus für jede Hilfe!
List<String> ls1 = new LinkedList<>(Arrays.asList("hello", "world", "morning", "world"));
Map<String, Integer> msi1 = new LinkedHashMap<>();
for(String s1 : ls1){
Integer i1 = msi1.get(s1);
i1 == null ? msi1.put(s1, i1) : msi1.put(s1, i1 + 1));//why can't I use the short if-else statement like this.
}
Welchen Fehler haben Sie erhalten? – user3437460
Sie können kein ternary verwenden, das kein Ergebnis liefert, in diesem Fall ignorieren Sie den 'boolean' von' put'. Der Grund, warum es nicht wie erwartet funktioniert, ist einfach, wenn 'i1 == null' dann 'msi1.put (s1, null)' was wahrscheinlich nicht das ist, was Sie wollen. –
Lassen Sie mich Sie [hier] (https://stackoverflow.com/questions/35330842/ternary-operator-with-multiple-condtions-in-java-throwing-error) und [hier] (https: // stackoverflow. com/questions/15977031/java-ternary-ohne-Zuordnung). – Majora320