gpt4 book ai didi

java - 无法理解 : if (val == null ? it.next() == null : val. equals(it.next()))

转载 作者:行者123 更新时间:2023-11-30 07:32:03 25 4
gpt4 key购买 nike

我在 Java Tutorial Oracle 上看到了这段代码片段但是,无论我如何努力,我都无法理解 if (val == null ? it.next() == null : val.equals(it.next())).

它的功能是什么以及如何工作?

public static <E> void replace(List<E> list, E val, E newVal) {
for (ListIterator<E> it = list.listIterator(); it.hasNext(); )
if (val == null ? it.next() == null : val.equals(it.next()))
it.set(newVal);
}

最佳答案

这是valit.next()之间的相等性检查。 null.equals() 会抛出 NullPointerException,因此使用条件来避免这种情况。

if ( // the if statement
val == null ? // let me name this "condition A"
it.next() == null : // this will be evaluated if condition A is true
val.equals(it.next()) // this will be evaluated if condition A is false
) // the if statement

关于java - 无法理解 : if (val == null ? it.next() == null : val. equals(it.next())),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35965684/

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