确定String值是否表示类名

时间:2017-06-09 08:39:14

标签: groovy

我们正在生成配置脚本,稍后我们将使用ConfigSlurper进行解析。我们生成的遗留源是命名中的自由格式,因此在某些情况下,有些名称也是类名。这可能会导致以下情况:

new ConfigSlurper().parse("File = 'foo'")

这会触发错误:“你试图为类'java.io.File'赋值”

因此,如果属性名称是应用程序范围内的类名,我们希望提前检测到,并采取相应的操作。 目前我们正在做类似的事情:

pName = 'Currency'
Eval.me("new ${pName}()")

然后处理抛出的Exceptions以确定pName是否包含类名。

这似乎是一种过于昂贵的方式来进行此测试,并且最好我们不想使用Eval。 有没有更好的方法来测试作为类名的值?

0 个答案:

没有答案