加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

你能在一个groovy列表中打印变量名,而不是值

发布时间:2020-12-14 16:23:14 所属栏目:大数据 来源:网络整理
导读:如果我在groovy中得到一个包含2个或更多变量且具有某个值的列表,并且我想看看它是否包含给定的文本字符串,我正在执行以下操作: def msg = ''' Hello Mars!'''def msg1 = ''' Hello world!'''def list = [msg,msg1]list.findAll { w - if(w.contains("Hello"
如果我在groovy中得到一个包含2个或更多变量且具有某个值的列表,并且我想看看它是否包含给定的文本字符串,我正在执行以下操作:

def msg = '''
 Hello Mars!
'''

def msg1 = '''
 Hello world!
'''


def list = [msg,msg1]

list.findAll { w -> 
if(w.contains("Hello"))
{
    println w
}
else
 {
    println "Not there"
 }
}

但是,不是打印值,而是打印包含文本的变量名称.是可以使用列表还是我需要制作地图?

解决方法

您需要使用Map,因为从键映射到值.

def msg = '''
 Hello Mars!
'''

def msg1 = '''
 Hello world!
'''

def map = [msg: msg,msg1: msg1]

map.findAll { key,value -> 
    if (value.contains("Hello")) {
        println key
    }
    else {
        println "Not there"
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读