Question

Why does nothing happen when I make a new Class in this GroovyShell?

GroovyShell shell = new GroovyShell();

String a = "class ReportFrame$id{}; new ReportFrame$id();";
shell.evaluate(a);
Était-ce utile?

La solution

When you use double quotes Groovy turns your string into a GString object and tries to evaluate variables that follow a dollar sign ... change to single quotes and it should work fine ...

GroovyShell shell = new GroovyShell();
String a = 'class ReportFrame$id{}; new ReportFrame$id();'; shell.evaluate(a);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top