你好Groovy的专家分配顶部的变量,找到一个集合中的值,并使用Groovy
我使用下面的命令来获取所有的ODI Dataservers。
def PSchema=DServer.getPhysicalSchemas();
当我打印PSchema
变量时,我得到以下值。
[oracle.odi.domain.topology.OdiPhysicalSchema ABC.X1, oracle.odi.domain.topology.OdiPhysicalSchema ABC.X2]
我想实现我在这里会路过X1
或运行期间X2
...
然后我想验证与PSchema
结果,并打印该值以下值:
oracle.odi.domain.topology.OdiPhysicalSchema ABC.X2
我尝试使用以下选项:
def PSchema44 = PSchema11.findIndexValues { it =~ /(X1)/ }
def pl=PSchema11.collect{if(it.contains ('X1)){return it}}
我尝试了LO OP检查是否值越来越正确打印..result是好的:
for (item in PSchema11)
{
println item
}
收集的正确语法应该是'def pl = PSchema11.collect {it.contains('X1')}' 你试过吗? – OsaSoft
收到以下错误** groovy.lang.MissingMethodException:没有方法的签名:oracle.odi.domain.topology.OdiPhysicalSchema.contains()适用于参数类型:(java.lang.String)values:[X1] 可能的解决方案:toString(),toString(),toString(),notify()** – Ananda
查看文档,看起来像'getPhysicalSchemas()'返回 IPhysicalSchemas的一个不可修改的集合 您究竟想要达到什么目的?如果我理解正确,您在运行时传递X1或X2,并且想从getPhysicalSchemas()'返回的集合中选择传递的值? – OsaSoft