gpt4 book ai didi

java - 字符串中的三元运算符

转载 作者:行者123 更新时间:2023-12-01 06:11:17 26 4
gpt4 key购买 nike

我在字符串中嵌入了一个三元运算符,如下所示:

return borderStyle.getThickness() + "|" + 
borderStyle.getColor()!=null?ColorPersistor.asString(borderStyle.getColor()):"isnull" + "|" +
borderStyle.getLineStyle();

令人惊讶的是 ColorPersistor.asString(borderStyle.getColor()) 被执行了。

为什么调用的计算结果不是“isnull”?是否可以在字符串中嵌入三元运算符?

最佳答案

三元运算符具有最低之一 Operator Precedeces .

这意味着:它是在前面的 + 操作之后进行计算的。

所以事实上,您没有检查borderStyle.getColor()是否不null,但您检查了

borderStyle.getThickness() + "|"+ borderStyle.getColor() 不为空。这不是因为文字字符串 "|" 始终是 != null

每当您使用三元运算符时,请务必使用 ( 和 ) 以确保应用到方程的正确部分。

关于java - 字符串中的三元运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34240780/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com