gpt4 book ai didi

java - 为什么我的 if else 语句(即?: ) does not work?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:45:29 26 4
gpt4 key购买 nike

我是 Java 的新手,正在尝试学习简写 if-else 语句的概念。

我想出了下面的代码。但是,代码不会编译并在 if-else(即 ? : )语句旁边显示错误。

有人可以告诉我为什么它不起作用吗?

如果我的问题对你们中的一些人来说听起来很愚蠢,我很抱歉。我是 Java 的新手。

在此先感谢您的帮助!

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.
}

最佳答案

三元表达式

condition ? when-true : when-false

是一个表达式,不是语句,所以不能用在需要语句的地方。

你可以这样写:

msi1.put(s1, (i1 == null) ? i1 : i1 + 1);

因为这是一个声明。

关于java - 为什么我的 if else 语句(即?: ) does not work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36095867/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com