- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
private static <T extends Comparable<T>> int compareTo(final T c1, final T c2) {
final boolean f1, f2;
return (f1 = c1 == null) ^ (f2 = c2 == null) ? f1 ? -1 : 1 : f1 && f2 ? 0 : c1.compareTo(c2);
}
BigDecimal newDiscountPrice = .....;
BigDecimal oldDiscountPrice = ......;
if (compareTo(newDiscountPrice, oldDiscountPrice) != 0) {
....
}
Видимо ObjectUtils.notEqual(newDiscountPrice, oldDiscountPrice) или старого доброго
!(newDiscountPrice==null? oldDiscountPrice==null: newDiscountPrice.equals(oldDiscountPrice ))
недостаточно)
>compareTo
Видимо задел на будущее.
Почему на будущее? Логика вроде такая:
- если оба значения null, то они равны
- если одно из значений null, а второе - нет, то null меньше
- если оба значения не null - сравниваем их по-настоящему
Этакий order by hui.length asc nulls first.
Это в оралуке такая фича?
M$$QLбляди соснули хоботца?
Я постгресс только издали видел, так что хз чего там нет
А вот к оралуку у меня ненависть . Я его 2 года изучал и всей душей ненавижу. Сначала я делал какую то непонятную хрень с помощью визардов и ненавидел ее, а потом я понял что я делал и возненавидел еще больше. Моя психика сломана
в довесок к тёплому ламповому connect by
а визарды к субд никакого отношения не имеют
Потому что используется оно только как equals
if (compareTo(newDiscountPrice, oldDiscountPrice) != 0) {
Автор кода явно не притрагивался к PHP. Везунчик.
Но пых ведёт себя как-то так: (a ? b ? c : d : e) ? f : g
И именно после него я навсегда перестал выябываться со вложенными тернарниками...