Domanda

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);
È stato utile?

Soluzione

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);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top