Итак, с тем, что у вас есть, вы избегаете $, поэтому он просто интерпретируется как строка.
Для того, что вы хотите сделать, я бы посмотрел на движки шаблонов Groovys:
http://docs.groovy -lang.org / документы / следующий / HTML / документация / шаблон-engines.html
Прочитав ваш комментарий, я поиграл с несколькими идеями и придумал этот надуманный ответ, который, вероятно, тоже не совсем то, что вы ищете:
import groovy.lang.GroovyShell
class test{
String x = "world"
String y = "\${x}"
void function(){
GroovyShell shell = new GroovyShell();
Closure c = shell.evaluate("""{->"Hello $y"}""")
c.delegate = this
c.resolveStrategry = Closure.DELEGATE_FIRST
String z = c.call()
println z
}
}
new test().function()
Но это было самое близкое, что я мог придумать, и может привести вас к чему-то ...