groovy - 为什么在 Groovy 中使用 'null' 执行 null 检查
问题描述
我正在研究与 JIRA 的 xRay 集成,如果标签为空实例,xRay 会抱怨。所以在 Jenkins 管道中,有以下代码来检查空实例
if (environment != 'null') {
envPlatformArray.add(environment)
}
if (platform != 'null') {
envPlatformArray.add(platform)
}
我正在考虑检查无实例应该执行如下:
if (environment != null)
{
...
}
或类似的东西
if (environment){
...
}
但在 Jenkins 上调试后,我惊讶地发现现有代码按预期工作。我不知道我是否错过了某些东西,或者默认情况下检查某些东西的正确方法不是 null 应该使用
instanceObj != 'null'
抱歉,如果已经问过这个问题,我会关闭它。感谢帮助。
解决方案
我不知道'null'
Groovy 中字符串常量的任何特殊含义。Groovy 编译器都不是。
println null == null
println null == 'null'
println 'null' == null
println 'null' == 'null'
println !!null
println !!'null'
印刷:
true
false
false
true
false
true
我使用https://groovyconsole.appspot.com运行代码
看起来environment
和platform
vars 正在从管道转向某个地方null
。'null'
推荐阅读
- sql - SQL - 将表中某些列的行转置到同一表中的每条记录
- verilog - 不断收到这些错误消息..编译错误
- python - 我正在尝试制作一个简单的代码,您可以在其中输入您的姓名和年龄,它会说这些信息是否正确,但我知道如何做正确的事情
- javascript - 阿拉伯语的 JqGrid PDF 导出显示无效字符
- solr - 索引复制经常失败
- angular - Angular 材质 UI dragHandle inverse
- google-cloud-platform - 如何修复 GCP 防火墙规则不起作用
- python - 错误:安装 pygame 时命令出错,退出状态为 1
- c - 返回值被忽略:'scanf'(关闭)
- javascript - 在node.js和mongoose建立mongodb连接之前如何拒绝数据模式?