Согласно groovy docs, == — это просто «умный» метод equals() как он также заботится о том, чтобы избежать исключения NullPointerException. Таким образом, == и equals() должны возвращать одно и то же значение, если объекты не равны нулю. Однако я получаю неожиданные результаты при выполнении следующего скрипта:
println "${'test'}" == 'test'
println "${'test'}".equals('test')
Результат, который я получаю:
true
false
Пример этого можно найти здесь.
Это известная ошибка, связанная с GStringImpl, или что-то, что я упустил?