为什么在这个GroovyShell中创建一个新类时什么都没有发生?

为什么在这个GroovyShell中创建一个新类时什么都没有发生?,groovy,groovyshell,Groovy,Groovyshell,为什么在这个GroovyShell中创建一个新类时什么都没有发生 GroovyShell shell = new GroovyShell(); String a = "class ReportFrame$id{}; new ReportFrame$id();"; shell.evaluate(a); 当您使用双引号时,Groovy将字符串转换为GString对象,并尝试计算美元符号后面的变量。。。更改为单引号,它应该可以正常工作 GroovyShell shell = new GroovyS

为什么在这个GroovyShell中创建一个新类时什么都没有发生

GroovyShell shell = new GroovyShell();

String a = "class ReportFrame$id{}; new ReportFrame$id();";
shell.evaluate(a);

当您使用双引号时,Groovy将字符串转换为GString对象,并尝试计算美元符号后面的变量。。。更改为单引号,它应该可以正常工作

GroovyShell shell = new GroovyShell();
String a = 'class ReportFrame$id{}; new ReportFrame$id();'; shell.evaluate(a);