Java'ya yeniyim ve shorthanded if-else
bildirimini öğrenmeye çalışıyor.Neden benim if ifadem (yani??) Neden çalışmıyor?
Aşağıdaki kodla geldim. Ancak, kod derlenmez ve if-else
(örn .:?:) Ifadesinin yanında bir hata görüntülemez.
Birisi bana neden çalışmıyor olduğunu söyleyebilir mi?
Sorularımın bazılarına çok aptalca geliyorsa özür dilerim. Java’da yeniyim.
Yardımlarınız için şimdiden teşekkür ederiz!
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.
}
Hangi hata ile karşılaştınız? – user3437460
Sonuç döndürmeyen bir üçlü kullanamazsınız, bu durumda 'put 'den' boolean'ı göz ardı edersiniz. Beklediğiniz gibi çalışmadığı için basit, eğer 'i1 == null' sonra 'msi1.put (s1, null) ', muhtemelen sizin istediğinizi değil. –
Size burada (https://stackoverflow.com/questions/35330842/ternary-operator-with-multiple-condtions-in-java-throwing-error) ve [burada] (https: // stackoverflow. com/sorular/15977031/java-üçlü-olmadan-atama). – Majora320