0

下面是我的代码:

def readln = javax.swing.JOptionsPane.&showInputDialog
def env = readln 'Which environment you want to test'

我输入输入为syst

当我比较这就是我正在做的

if("$env".equalsIgnoreCase("syst")){
some code
}

还尝试了许多其他方法来比较喜欢

if($env.equalsIgnoreCase("syst"))
if(env.equalsUIgnoreCase("syst"))
if("${'env'}".equalsIgnoreCase("syst"))

但以上都不起作用,条件不满足。如何将声明的字符串与从对话框输入的字符串进行比较?

4

2 回答 2

1

首先 - 类名JOptionsPane是错误的(它是JOptionPane- 没有s

下面是工作代码。

您可以从 groovy 控制台运行它。

import javax.swing.JOptionPane

def readln = JOptionPane.&showInputDialog
def env = readln 'Which environment you want to test'
if(env=='syst'){
    println "EQUALS"
}
if('syst'.equalsIgnoreCase(env)){
    println "EQUALS equalsIgnoreCase 1"
}
if(env.equalsIgnoreCase('syst')){
    println "EQUALS equalsIgnoreCase 2"
}
if("${env}".equalsIgnoreCase('syst')){
    println "EQUALS equalsIgnoreCase 3"
}

所有 4 比较工作正常。

但是'syst'.equalsIgnoreCase(env),如果您想比较忽略大小写,则更可取。

因为此时env可能为空

于 2018-12-24T00:07:32.730 回答
0

尝试将其直接扩展为字符串 - "${env}"

于 2018-12-23T21:23:43.013 回答