所以我可以替换旧的三元操作:
def something = mainThing != null ? mainThing : "gone!"
Run Code Online (Sandbox Code Playgroud)
使用 Elvis 运算符:
def something = mainThing ?: "gone!"
Run Code Online (Sandbox Code Playgroud)
但是有没有一种很好的方法来代替相反的方法:
def keyValuePair = (mainThing != null ? mainThing + "." : "") + "specific=" + value
Run Code Online (Sandbox Code Playgroud)
如果前缀存在,我在哪里使用前缀加一个点?
您可以使用?. 安全导航运算符来简化该表达式。当前使用的运算符 ( +) 使这几乎不相关,但假设方法访问(这也碰巧更常见),您可以键入:
def keyValuePair = mainThing?.concat('.') ?: "" + "specific=" + value
Run Code Online (Sandbox Code Playgroud)
使用.concat代替+字符串连接[您可以使用.plus():-)],然后使用?:. mainThing?.concat('.')如果mainThing为假(通过 Groovy 真值术语),则返回 null,如果不是,则返回方法调用的结果。
| 归档时间: |
|
| 查看次数: |
440 次 |
| 最近记录: |