This question already has answers here:
Strange Null pointer exception case: ternary conditional operator not working with string concatenation

(6个答案)


3年前关闭。




我如何从这行代码中获取空指针异常?
String a = "localUri: "+  mCurrentImageUri == null? "none" : mCurrentImageUri.toString();
mCurrentImageUri == null,但我认为如果这样的话,它不会评估mCurrentImageUri.toString()
半相关:

如何编写类似于此C#语法的文字?

字符串a = myVar?? "none"

最佳答案

您需要括号:

"localUri: " + (mCurrentImageUri == null ? "none" : mCurrentImageUri.toString())

如果没有括号,则将其解析为(("localUri: "+ mCurrentImageUri) == null) ? ...,始终为false。

10-04 19:48