Не удалось сравнить строку, введенную из диалога ввода, с другой строкой в ​​Groovy - PullRequest
0 голосов
/ 24 декабря 2018

Ниже мой код:

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"))

, но ни один из вышеперечисленных рабочих условий не выполняется.Как сравнить объявленную строку со строкой, введенной из диалогового окна?

Ответы [ 2 ]

0 голосов
/ 24 декабря 2018

first - имя класса 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 может быть нулевым в этой точке

0 голосов
/ 24 декабря 2018

попробуйте развернуть его непосредственно в строку как - "$ {env}"

...