为什么此代码有效?奇怪的Java行为。三元运算符
Float testFloat = null;
Float f = true ? null : 0f;
为什么会抛出异常?
Float testFloat = null;
Float f = true ? testFloat : 0f;
但奇怪的是,这种代码也运行成功,没有任何例外:
Float testFloat = null;
Float f = testFloat;
看来,爪哇三元运营商改变行为。任何人都可以解释为什么这是吗?
我用JDK 7u25运行它,它没有抛出任何异常。 –
第三个代码不能抛出异常:你声明一个变量,将其设置为null,然后声明另一个变量并将其设置为第一个为null的值。没有例外可以抛出 –