Я видел этот фрагмент кода на Java Tutorial Oracle, однако, как бы я ни старался попробовал, я не могу понять if (val == null ? it.next() == null : val.equals(it.next()))
.Не могу понять: 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);
}
это тройная операция его скелет, если (условие) operation1: работы2; если условие истинно, оно выбирает operation1 else 2.Speaking это просто, если код else в одной строке - это блог, который объясняет подробно.http: //alvinalexander.com/java/edu/pj/pj010018 – SmashCode
Хотя это законная Java (это компилирует), слишком плохо, что появляется в учебнике. –