为什么这段代码有效?
Float testFloat = null;
Float f = true ? null : 0f;
Run Code Online (Sandbox Code Playgroud)
为什么会抛出异常呢?
Float testFloat = null;
Float f = true ? testFloat : 0f;
Run Code Online (Sandbox Code Playgroud)
但最奇怪的是,此代码也成功运行,没有任何例外:
Float testFloat = null;
Float f = testFloat;
Run Code Online (Sandbox Code Playgroud)
似乎Java的三元运算符改变了行为.谁能解释为什么会这样,拜托?
为什么此代码返回错误:java.lang.NullPointerException
Object obj = null;
Long lNull = null;
Long res = obj == null ? lNull : 10L;
Run Code Online (Sandbox Code Playgroud)
但是以下方式可以正常运行:
Object obj = null;
Long res = obj == null ? null : 10L;
Run Code Online (Sandbox Code Playgroud)