Различные результаты Groovy при использовании equals() и == в GStringImpl

Согласно groovy docs, == — это просто «умный» метод equals() как он также заботится о том, чтобы избежать исключения NullPointerException. Таким образом, == и equals() должны возвращать одно и то же значение, если объекты не равны нулю. Однако я получаю неожиданные результаты при выполнении следующего скрипта:

println "${'test'}" == 'test'
println "${'test'}".equals('test')

Результат, который я получаю:

true
false

Пример этого можно найти здесь.

Это известная ошибка, связанная с GStringImpl, или что-то, что я упустил?

51
задан Ian Roberts 27 November 2013 в 04:32
поделиться