Работает с Groovy 1.8.4:
println( ('a' as char) ^ ('b' as char) )
печатает
3
У Groovy есть довольно много мест, где источник несовместим с Java. Список можно найти здесь , есть также такие вещи, как no do...while
loop и т. Д. ...
Йохен Теодору, проект Groovy Tech Lead ответил на почту в списке :
в настоящее время «правильный» способ
println (('a' as int) ^ ('b' как int))
, и он все равно должен печатать 3. Из-за того, почему он работает иногда, а иногда и нет ... Я думаю, это потому, что я случайно реализовал это для примитивных оптимизаций. Это означает, что вы получите это в более поздних версиях 1.8, потому что до того, как он не был реализован. И это означает, что он работает, только если они включены, что имеет место только в определенных ситуациях.
blockquote>Редактировать # 2
Это похоже на проблему, которая показывает только с некоторыми реализациями JVM. Таким образом, я опубликовал вопрос для Groovy Jira , поэтому, надеюсь, будущие версии Groovy немного сгладят различия: -)
Вы пробовали это?
select end_date,
listagg(CLOSE_DATE, ',') within group (order by CLOSE_DATE DESC) as close_dates,
listagg(id, ',') within group (order by id) as ids
from TBL_S_PLCLOSEDATE
where D_END = date '2018-05-18'
group by end_date;
to_char()
. – Gordon Linoff 13 July 2018 в 12:20