string - 无法将从输入对话框输入的字符串与 Groovy 中的不同字符串进行比较
问题描述
下面是我的代码:
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"))
但以上都不起作用,条件不满足。如何将声明的字符串与从对话框输入的字符串进行比较?
解决方案
首先 - 类名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
可能为空
推荐阅读
- python - 将相同的函数应用于 pandas 数据框中的行子集
- html - 如何在屏幕左侧制作带有边框的垂直矩形,在网页顶部制作水平矩形?
- xml - 在 pyspark 中创建自定义模式以读取 xml 文件
- python - 如何确保记录的消息进入新行?
- c++ - 如何在递归函数中只定义和初始化一次变量?
- java - 如果子字符串可以转换为int,如何拆分分隔的字符串
- heroku - Heroku 上 fatjar 中的 Couchbase Lite 在 Couchbase.init() 上抛出 execption
- java - Grakn 安装:不支持 Java 版本
- entity-framework-core - 在 Entity Framework Core 中模仿 ADO.NET 设计
- kubernetes - Kubernetes - ALB 入口控制器 - CertificateNotFound