在集合中查找值并使用groovy为变量赋值

时间:2016-08-01 09:45:31

标签: groovy

您好Groovy专家,

我使用以下命令获取所有ODI数据服务器。

def PSchema=DServer.getPhysicalSchemas();

当我打印PSchema变量时,我得到以下值。

[oracle.odi.domain.topology.OdiPhysicalSchema ABC.X1, oracle.odi.domain.topology.OdiPhysicalSchema ABC.X2]

我想在这里实现的目标,我将在运行时通过X1X2 ... 然后我想用PSchema结果验证此值并打印以下值:

oracle.odi.domain.topology.OdiPhysicalSchema ABC.X2

我尝试使用以下选项:

def PSchema44 = PSchema11.findIndexValues { it =~ /(X1)/ }
def pl=PSchema11.collect{if(it.contains ('X1)){return it}}

我尝试循环检查值是否正确打印..结果很好:

for (item in PSchema11 )
{
    println item
}

1 个答案:

答案 0 :(得分:1)

假设' X1'和' X2'是物理模式的名称,你应该能够做这样的事情:

def phys = "X1"
def pSchemas = dServer.getPhysicalSchemas()
def schema = pSchemas.find{it.schemaName == phys}

我想你是Groovy的新手,我建议你阅读语法和命名约定。例如,变量名应始终以小写字母

开头